使用正则表达式在Javascript中检查密码

时间:2013-12-17 15:21:04

标签: javascript regex

我有一个表达式,检查密码字符串中是否至少有一个数字,一个小写字母和一个大写字母以及至少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个。谁能告诉我这个伎俩?

1 个答案:

答案 0 :(得分:4)

您可以将正则表达式修改为:

var re = /^(?=(\D*\d){2})(?=.*?[a-z])(?=.*?[A-Z]).{6,15}$/;
  • (?=(\D*\d){2}) =>将确保至少有2位数字
  • .{6,15}确保最少6个字符和最多15个字符
  • ^ and $是行首和行结尾

视觉描述:

Regular expression visualization