我想要一个正则表达式来检查“最少8个字符,至少一个数字和一个特殊字符,最多32个字符。 ,我的正则表达式是:正则表达式javascript至少8个字符,至少一个数字和一个特殊字符,最多32个字符
^(?=.*\d)(?=.*[a-zA-Z])[0-9a-zA-Z]{8,16}$
我想要一个正则表达式来检查“最少8个字符,至少一个数字和一个特殊字符,最多32个字符。 ,我的正则表达式是:正则表达式javascript至少8个字符,至少一个数字和一个特殊字符,最多32个字符
^(?=.*\d)(?=.*[a-zA-Z])[0-9a-zA-Z]{8,16}$
我测试这个正则表达式可以工作满意
/(?=^.{8,32}$)(?=(?:.*?\d){1})(?=.*[a-z])(?=(?:.*?[[email protected]#$%*()_+^&}{:;?.]){1})(?!.*\s)[[email protected]#$%*()_+^&]*$/
你可以观看现场演示:http://jsfiddle.net/tuxrM/
var re = new RegExp(/(?=^.{8,32}$)(?=(?:.*?\d){1})(?=.*[a-z])(?=(?:.*?[[email protected]#$%*()_+^&}{:;?.]){1})(?!.*\s)[[email protected]#$%*()_+^&]*$/);
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
它完美的作品,非常感谢你;) – samsonasik
这实际上最好通过3个不同的正则表达式来解决。
/[0-9]/ //Check for at least one number.
/(SPECIAL CHARACTER)/ //Check for at least one special character. Please define "special" character.
然后
str.length >= 8 && str.length <= 32
如果这是一个密码,做密码长度没有限制你的用户。
我的老板问:D – samsonasik
而你的问题是......? –
你刚刚从某处复制/粘贴该正则表达式吗? – Blender
是的,特殊字符不会被执行。它只验证8-32个字符和至少一个数字,怎么样? – samsonasik