有什么方法可以找到哪个输入字符失败正则表达式模式。javascript正则表达式验证
例如:考虑[A-Za-z \ s。 &]只允许使用,但用户输入类似“test/string”,其中“/”使输入无效。 如何找到谁失败的正则表达式(我们的情况下,“/”)
有什么方法可以找到哪个输入字符失败正则表达式模式。javascript正则表达式验证
例如:考虑[A-Za-z \ s。 &]只允许使用,但用户输入类似“test/string”,其中“/”使输入无效。 如何找到谁失败的正则表达式(我们的情况下,“/”)
您可以删除有效字符,你就会有无效问卷的字符串:
var invalid = "test/string".replace(/[A-Za-z\s.&]/g,""); // results in "/"
要查找的字符失败,与/[A-Za-z\s.&]+/
拆分它,你会得到无效字符列表
"test/string".split(/[A-Za-z\s.&]+/).join('')
/
要检查用户名是否有效或者不,你可以使用^和$锚。
/^[A-Za-z\s.&]+$/
我觉得他有这个部分,但他想知道为什么比赛失败了。即在哪个角色上。 – 2010-04-29 10:14:38
谢谢@Tim,更新 – YOU 2010-04-29 10:18:19
只是否定你的角色类并找出哪个角色匹配。
[^A-Za-z\s.&]
将匹配test/string
的/
。所以,干脆你
if (/^[A-Za-z\s.&]+$/.test(subject)) {
// Successful match
} else {
result = subject.match(/[^A-Za-z\s.&]/g);
// result is an array that contains all the characters that failed the match
}
所有的答案都不错。 RoToRa完全符合我的需求。谢谢你 – ArK 2010-04-29 10:50:47