我的javascript正则表达式出了问题。
它不会停止数字和“!”性格虽然应该。 它适用于其他特殊角色,当然我已经对它进行了调查,看它是否真的进行了测试等等......而且确实如此。即使我的字符串中有数字,它也会返回true。
这是RegExp:
new RegExp("^[^\\- ][A-Za-z\u00C00-\u017F\\- ]+"); // \u00C00-\u017F = À-S(latin)
验证表单中的名字。
问题很奇怪,因为我在java中的服务器端具有完全相同的正则表达式,并且它运行良好。
感谢您的回答:)
答案 0 :(得分:6)
你可能有一些错字:
\u00C00-\u017F
C00 hex将比17F hex更大。但是\ u仅捕获四个字符,请参阅下面的评论。
答案 1 :(得分:0)
你应该逃避(对于javascript字符串)正则表达式\u
new RegExp("^[^\\- ][A-Za-z\\u00C0-\\u017F\\- ]+");
此外,如果您尝试再次匹配重音字母,则范围为(正则表达式)[\u00C0-\u00FF]