正则表达式拒绝所有非英语字符,除了一些带重音的字符

时间:2017-06-11 18:37:43

标签: javascript regex non-english

这非常适合禁止所有非英文字母:

/[^\x00-\x7F]+/

但我喜欢允许这些字符:

âäèéêëîïôœùûüÿçÀÂÄÈÉÊËÎÏÔŒÙÛÜŸÇ

如何将这些添加到正则表达式以便允许它们?

2 个答案:

答案 0 :(得分:2)

如果/[^\x00-\x7F]+/之类的模式适合您,它会匹配您现在想要避免匹配的所有字母。

由于[^...]negated character class排除一个字符/一组字符的最简单方法是将它们添加到类中:

/[^\x00-\x7FâäèéêëîïôœùûüÿçÀÂÄÈÉÊËÎÏÔŒÙÛÜŸÇ]+/

请参阅regex demo

如果使用空字符串作为替换模式,则将删除非ASCII(\x00-\x7F)的每1个字符,并且这些字符不等于添加到否定字符类的字母。

答案 1 :(得分:1)

虽然看起来很长,但是一个简单的角色类就可以完成这项工作。

正则表达式: [a-zA-ZâäèéêëîïôœùûüÿçÀÂÄÈÉÊËÎÏÔŒÙÛÜŸÇ]