【发布时间】:2015-01-21 17:31:16
【问题描述】:
我需要一个正则表达式(用于输入验证)来过滤除“下划线”以外的所有特殊字符,因此允许 [a-zA-Z0-9\underscore] 范围内的所有字符并且可以出现多次.但在我的表达中,我不能连续出现 2 次“下划线”,而且我的字符串也不能以“_”开头。
【问题讨论】:
-
过滤掉?你的意思是替换那些不符合条件的人
-
您能否提供一个有效和无效输入的列表?
-
不,我不必更换。我将只接受 [a-zA-Z0-9\underscore] 范围内的所有字符作为输入字段的输入,但我不能接受以下划线开头或连续两次出现下划线的输入字符串。但是以一个下划线结尾的字符串是可以的。
-
为什么不简单地过滤两次呢?
value.replace(/\W/g, "").replace(/^_|_(?=_)/g,"") -
我很困惑。在问题中你说“我的字符串也不能以
"_"” 开头,但是你接着说"_hello09_Hello"是有效的。为什么这是有效的?
标签: javascript regex angularjs validation