标签: javascript regex
我有以下表达式来验证"名称":
/^([a-z\s?]{4,120})[^\s]$/i
但我不知道为什么接受特殊字符:Alex@是有效的匹配。
Alex@
它应该无效,因为我没有指定包含特殊字符。
答案 0 :(得分:1)
你想要的是至少4个字符 - 由于最后的非可选[^\s]字符,你试图使用它至少需要5个字符。此外,[^\s]实际上会匹配任何不是空格的角色 - 我敢打赌你想把它限制为只是字母吗?
[^\s]
请改为尝试:
^[a-z\s?]{3,119}[a-z]$