我想要一个正则表达式来检查“最少 8 个字符,至少一个数字和一个特殊字符,最多 32 个字符”。 ,我的正则表达式是:
^(?=.*\d)(?=.*[a-zA-Z])[0-9a-zA-Z]{8,16}$
我测试这个正则表达式可以满意地工作
/(?=^.{8,32}$)(?=(?:.*?\d){1})(?=.*[a-z])(?=(?:.*?[!@#$%*()_+^&}{:;?.]){1})(?!.*\s)[0-9a-zA-Z!@#$%*()_+^&]*$/
您可以观看现场演示:http://jsfiddle.net/tuxrM/
var re = new RegExp(/(?=^.{8,32}$)(?=(?:.*?\d){1})(?=.*[a-z])(?=(?:.*?[!@#$%*()_+^&}{:;?.]){1})(?!.*\s)[0-9a-zA-Z!@#$%*()_+^&]*$/);
var test1 = '1234567', // less than 8 characters
test2 = 'aaaaaaaa', // no number & no special character
test3 = 'aaaaaaa1', // no special character
test4 = 'aaaAaa#1', // satisfied
test5 = 'abcdefghigklmnopqrstuvwxyz1234567890332123'; // more than 32 characters
re.test(test1); // FALSE
re.test(test2); // FALSE
re.test(test3); // FALSE
re.test(test4); // TRUE
re.test(test5); // FALSE
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)