需求
字符串全部由英文組成,並且不等於某些特定的字符串。
實現
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
測試結果,與預期一致。