Javascript正则表达式用于验证没有重音字符的名称

时间:2013-08-08 09:05:41

标签: javascript regex validation

我正在使用一个简单的Javascript正则表达式来验证人们的姓名。但是,我不想让用户输入重音字符,例如ãäõö等。我知道这些字符实际上可以有效名字中的字符,但对于我的练习,我需要能够过滤掉它们。

我当前的正则表达式:

^[a-zA-Z]+('|-|.|)[a-zA-Z\s]+$

这也匹配重音字符。如何修改此正则表达式,使其与带重音的名称(或任何Unicode字符)不匹配?

2 个答案:

答案 0 :(得分:2)

删除.,因为.匹配任何字符。这可能会导致匹配的重音字符。

^[a-zA-Z]+('|-)[a-zA-Z\s]+$
如果你的意思是字面点,请

或转义.

^[a-zA-Z]+('|-|\.)[a-zA-Z\s]+$

答案 1 :(得分:1)

要匹配单个字符,最好使用类[...],而不是使用替代(...|...)的组:

^[a-zA-Z]+['.-][a-zA-Z\s]+$

请注意,这不是100%准确,因为它会验证foo.bar等等。