javascript中的正则表达式仅匹配字母或空格

时间:2015-06-16 21:45:51

标签: javascript regex

我有以下表达式来验证"名称":

/^([a-z\s?]{4,120})[^\s]$/i

但我不知道为什么接受特殊字符:Alex@是有效的匹配。

它应该无效,因为我没有指定包含特殊字符。

1 个答案:

答案 0 :(得分:1)

你想要的是至少4个字符 - 由于最后的非可选[^\s]字符,你试图使用它至少需要5个字符。此外,[^\s]实际上会匹配任何不是空格的角色 - 我敢打赌你想把它限制为只是字母吗?

请改为尝试:

^[a-z\s?]{3,119}[a-z]$