Javascript 一个字母的正则表达式例外不触发。JS

Javascript 一个字母的正则表达式例外不触发。JS,javascript,regex,unicode,Javascript,Regex,Unicode,我有一个简单的JS验证,在输入下面有一条红线。它只显示错误所在的位置,主要验证在服务器上进行。 所以,我排除了所有符号,除了那些允许的符号。我还为这个例外添加了一种语言,其中大部分字母来自英语字母表,只有少数例外。除了ə之外,所有这些字母都通过了验证。有趣的是,只有小写字母的例外不适用于它。在顶部,一切正常 此字母的代码:u04D9 下面是函数本身: str.replace(/[^\u0400-\u04FF\u00C7\u018F\u011E\u0049\u0130\u00D6\u015E\u0

我有一个简单的JS验证,在输入下面有一条红线。它只显示错误所在的位置,主要验证在服务器上进行。 所以,我排除了所有符号,除了那些允许的符号。我还为这个例外添加了一种语言,其中大部分字母来自英语字母表,只有少数例外。除了
ə
之外,所有这些字母都通过了验证。有趣的是,只有小写字母的例外不适用于它。在顶部,一切正常

此字母的代码:
u04D9

下面是函数本身:

str.replace(/[^\u0400-\u04FF\u00C7\u018F\u011E\u0049\u0130\u00D6\u015E\u00DC\u00E7\u04D9\u011F\u0131\u0069\u00F6\u015F\u00FC\w@.?()+"/,:;*%!№$#=-]+/gu, '');
有什么建议可以解决这个问题吗


\u04D9
是一个
西里尔文小写字母SCHWA
。您识别的字符是带有
\u0259
代码的
拉丁文小写字母SCHWA
。您需要将其添加到正则表达式中才能“捕获”它

但是,也有一些类似于char的字符,如
ə

Ə ‎018F LATIN CAPITAL LETTER SCHWA
ǝ ‎01DD LATIN SMALL LETTER TURNED E
ə ‎0259 LATIN SMALL LETTER SCHWA
Ә ‎04D8 CYRILLIC CAPITAL LETTER SCHWA
ә ‎04D9 CYRILLIC SMALL LETTER SCHWA
ᵊ ‎1D4A MODIFIER LETTER SMALL SCHWA
ₔ ‎2094 LATIN SUBSCRIPT SMALL LETTER SCHWA

在字符列表中添加
\u018F\u01DD\u0259\u04D8\u04D9\u1D4A\u2094
似乎是合理的。

您的正则表达式
ə
。请注意,您不需要
u
修饰符,请将其删除。然后会出现什么问题?我从中获取了编码,它应该是正确的。首先,尝试不使用
u
。接下来,有很多类似的角色,比如
ə
。尝试将
\u018F\u01DD\u0259\u04D8\u04D9\u1D4A\u2094
添加到字符列表中。是的,flag
\i
也有帮助,谢谢!