最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

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

运维笔记admin7浏览0评论

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

过滤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. 暂无评论