正则匹配目标字符串不等于某些特定的字符串


需求

字符串全部由英文组成,并且不等于某些特定的字符串。

实现

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