正则表达式验证密码javascript

时间:2014-04-03 20:04:57

标签: javascript

我需要一个正则表达式来验证包含至少8个字符的密码,必须至少包含一个大写字母和一个小写字母。并且必须具体包括以下符号之一@,#,%,^,&,*,)

我找不到只包含ascii字符的那个。

提前感谢您的帮助!

2 个答案:

答案 0 :(得分:2)

 /^(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*]).{8,}$/

正则表达式断言密码必须包含至少一个Smallcase,Capitalcase字母和一个特殊字符(!@#$%^& *)。 可以将密码的最大长度从20增加到更多。

答案 1 :(得分:1)

您还可以将所有验证正则表达式放在一个数组中,然后使用every

var atLeastLowerCase = /[a-z]/; 
var atLeastUpperCase = /[A-Z]/;
var atLeastSpecial = /[\@\#\%\^\&\*\]\)]/;
var password = "somePass@";
var passes = [atLeast8,atLeastLowerCase,atLeastUpperCase,atLeastSpecial].every(function(a){
   return a.test(password);
}) && password.length>=8;
if(passes){
   //do something
}else{
   //do something else
}