最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

过滤JavaScript中的所有非字母数字字符

IT培训 admin 3浏览 0评论

过滤JavaScript中的所有非字母数字字符

我正在尝试从字符串中滤除特定字符。我认为这不需要太多介绍,因此这里有一些示例。

const filt1 = "This will not be replaced: æ Ç ü";
const filt2 = "This will be replaced: » ↕ ◄";

// Output goal:
// filt1 = This will not be replaced: æ Ç ü
// filt2 = This will be replaced:   

我将如何去做?我要替换所有未使用任何语言的字符。我要保留重音字符和Chinse字符之类的东西。箭头,块等应被过滤掉。

我已经尝试了许多正则表达式过滤器,但没有一个能满足我的要求。这个效果最好:

((?![a-zA-ZàèìòùÀÈÌÒÙáéíóúýÁÉÍÓÚÝâêîôûÂÊÎÔÛãñõÃÑÕäëïöüÿÄËÏÖÜŸçÇßØøÅåÆæœ ]).)*

但是它笨重,不包含非重音字母数字字符。抱歉,如果此帖子的措辞难以阅读。我已经有一段时间了,我的大脑无法正常运行。

回答如下:

您可以尝试使用Unicode正则表达式/[^\p{L}\s]/ugi

console.log('This will be replaced: » ↕ ◄, This will not be replaced: æ Ç ü'.replace(/[^\p{L}\s]/ugi, ''));

过滤JavaScript中的所有非字母数字字符

我正在尝试从字符串中滤除特定字符。我认为这不需要太多介绍,因此这里有一些示例。

const filt1 = "This will not be replaced: æ Ç ü";
const filt2 = "This will be replaced: » ↕ ◄";

// Output goal:
// filt1 = This will not be replaced: æ Ç ü
// filt2 = This will be replaced:   

我将如何去做?我要替换所有未使用任何语言的字符。我要保留重音字符和Chinse字符之类的东西。箭头,块等应被过滤掉。

我已经尝试了许多正则表达式过滤器,但没有一个能满足我的要求。这个效果最好:

((?![a-zA-ZàèìòùÀÈÌÒÙáéíóúýÁÉÍÓÚÝâêîôûÂÊÎÔÛãñõÃÑÕäëïöüÿÄËÏÖÜŸçÇßØøÅåÆæœ ]).)*

但是它笨重,不包含非重音字母数字字符。抱歉,如果此帖子的措辞难以阅读。我已经有一段时间了,我的大脑无法正常运行。

回答如下:

您可以尝试使用Unicode正则表达式/[^\p{L}\s]/ugi

console.log('This will be replaced: » ↕ ◄, This will not be replaced: æ Ç ü'.replace(/[^\p{L}\s]/ugi, ''));
发布评论

评论列表 (0)

  1. 暂无评论