一个字母的正则表达式异常不会触发。 JS
Regex exception for one letter does not fire. JS
我在输入下方以红线的形式进行了简单的 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
是一个 CYRILLIC SMALL LETTER SCHWA
。您识别的字符是一个带有 \u0259
代码的 LATIN SMALL LETTER SCHWA
。您需要将它添加到正则表达式中才能“捕获”它。
但是,有 quite a few characters 看起来类似于 ə
:
这样的字符
Ə 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
添加到字符列表似乎是合理的。
我在输入下方以红线的形式进行了简单的 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
是一个 CYRILLIC SMALL LETTER SCHWA
。您识别的字符是一个带有 \u0259
代码的 LATIN SMALL LETTER SCHWA
。您需要将它添加到正则表达式中才能“捕获”它。
但是,有 quite a few characters 看起来类似于 ə
:
Ə 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
添加到字符列表似乎是合理的。