正則匹配目標字符串不等於某些特定的字符串


需求

字符串全部由英文組成,並且不等於某些特定的字符串。

實現

MDN上JavaScript的正則表達式——RegExp

x(?!y)

只有當 x 后面不是緊跟着 y 時,才匹配 x。例如,/\d+(?!.)/ 只有當一個數字后面沒有緊跟着一個小數點時,才會匹配該數字。

例子

var strs = ['abc', 'login', 'user', 'order', 'cba'];
var re = new RegExp('^(?!login|user|order)[a-z]+$');

測試一下

for(var i = 0, len = strs.length; i < len; i++) {
	console.log('result:' + re.test(strs[i]));
}
true
false
false
false
true

測試結果,與預期一致。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM