javascript RegExp不't过滤器编号

javascript RegExp doesn't filter numbers

本文关键字:过滤器 编号 RegExp javascript      更新时间:2023-09-26

我遇到了一个javascript正则表达式问题。

它不会在应该停止的时候停止数字和"!"字符。它适用于其他特殊字符,当然我已经对它进行了调试,看看它是否真的能完成测试等等……它确实做到了。即使我的字符串中有数字,它也会返回true。

这是RegExp:

new RegExp("^[^''- ][A-Za-z'u00C00-'u017F''- ]+"); // 'u00C00-'u017F = À-S(latin)

这是为了验证表单中的名字。

这个问题很奇怪,因为我在java的服务器端有完全相同的regex,而且它工作得很好。

感谢您的回答:)

您可能有一些打字错误:

'u00C00-'u017F

C00十六进制将大于17F十六进制。但是''u只包含四个字符,请参阅下面的评论。

您应该转义(对于javascript字符串)regex 'u

new RegExp("^[^''- ][A-Za-z''u00C0-''u017F''- ]+");

此外,如果您试图再次匹配重音字母,则范围为(regex)['u00C0-'u00FF]