我有一个表达式,检查密码字符串中是否至少有一个数字,一个小写字母和一个大写字母以及至少6个字符。 请看我的例子:
var myPwd = 'test-123H';
console.log('password to check: ' + myPwd);
//at least one number, one lowercase and one uppercase letter and at least six characters
var re = /(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{6,}/;
var validPassword = re.test(myPwd);
console.log(validPassword);
不幸的是,我无法管理它以实现另外两个条件:应该检查密码,最大长度为15个字符,并且应该至少有2个数字而不是1个。谁能告诉我这个伎俩?
答案 0 :(得分:4)
您可以将正则表达式修改为:
var re = /^(?=(\D*\d){2})(?=.*?[a-z])(?=.*?[A-Z]).{6,15}$/;
(?=(\D*\d){2})
=>将确保至少有2位数字.{6,15}
确保最少6个字符和最多15个字符^ and $
是行首和行结尾视觉描述: