常用密码强度校验正则表达式

2020-06-14 89 0

常用密码强度校验正则表达式

// 定义密码强度规则
var strongRegex = new RegExp("^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*[!@#$%^&*])(?=.{8,})");
var mediumRegex = new RegExp("^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.{6,})");
var weakRegex = new RegExp("^(?=.*[A-Za-z])(?=.*[0-9])(?=.{6,})");

// 检查密码强度
var password = "Hello123!";
if (strongRegex.test(password)) {
  console.log("您设置的密码非常安全!");
} else if (mediumRegex.test(password)) {
  console.log("您设置的密码较安全!");
} else if (weakRegex.test(password)) {
  console.log("您设置的密码较弱,建议修改!");
} else {
  console.log("密码设置不符合要求,请重新设置!");
}

上述实例中,我们定义了三种密码强度规则,即强、中、弱。这三种规则分别使用了不同的正则表达式,包括了密码长度、字母、数字和特殊字符等方面的内容。对于不同的密码,我们可以使用test()方法来测试是否符合相应的规则。

1.强密码强度正则表达式:

var strongRegex = new RegExp("^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*[!@#$%^&*])(?=.{8,})");
  • ^:匹配字符串的开头
  • (?=.*[A-Z]):匹配至少一个大写字母
  • (?=.*[a-z]):匹配至少一个小写字母
  • (?=.*[0-9]):匹配至少一个数字
  • (?=.[!@#$%^&]):匹配至少一个特殊字符
  • (?=.{8,}):匹配长度至少为8的字符串

2.中密码强度正则表达式:

var mediumRegex = new RegExp("^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.{6,})");
  • ^:匹配字符串的开头
  • (?=.*[A-Z]):匹配至少一个大写字母
  • (?=.*[a-z]):匹配至少一个小写字母
  • (?=.*[0-9]):匹配至少一个数字
  • (?=.{6,}):匹配长度至少为6的字符串

3.弱密码强度正则表达式:

var weakRegex = new RegExp("^(?=.*[A-Za-z])(?=.*[0-9])(?=.{6,})");
  • ^:匹配字符串的开头
  • (?=.*[A-Za-z]):匹配至少一个字母
  • (?=.*[0-9]):匹配至少一个数字
  • (?=.{6,}):匹配长度至少为6的字符串

相关文章

版本号命名规范,为软件开发注入秩序
数据库事物,数据一致性的基石
解决Docker Hub镜像超时困扰
听歌搜歌下歌,尽在MusicFree
线上PostgreSQL锁表故障分析
PostgreSQL创建外部表场景及使用

发布评论