有什麼方法可以找到哪個輸入字符失敗正則表達式模式。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