javascript RegExp不会过滤数字

时间:2012-08-29 12:18:21

标签: javascript regex validation

我的javascript正则表达式出了问题。

它不会停止数字和“!”性格虽然应该。 它适用于其他特殊角色,当然我已经对它进行了调查,看它是否真的进行了测试等等......而且确实如此。即使我的字符串中有数字,它也会返回true。

这是RegExp:

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

验证表单中的名字。

问题很奇怪,因为我在java中的服务器端具有完全相同的正则表达式,并且它运行良好。

感谢您的回答:)

2 个答案:

答案 0 :(得分:6)

你可能有一些错字:

\u00C00-\u017F

C00 hex将比17F hex更大。但是\ u仅捕获四个字符,请参阅下面的评论。

答案 1 :(得分:0)

你应该逃避(对于javascript字符串)正则表达式\u

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

此外,如果您尝试再次匹配重音字母,则范围为(正则表达式)[\u00C0-\u00FF]