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

2020-06-14 478 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的字符串

相关文章

OpenClaw本地部署实战指南:10分钟打造你的私人AI助手
Spec-Driven Development(规格驱动开发)五步曲实战,终结Vibe Coding痛点
开源神器planning-with-files:让Claude拥有“硬盘记忆”,复杂任务不跑偏
给Claude Code装上左膀右臂 :Chrome DevTools+Postgres MCP实战
linux下磁盘分区挂载路径调整:从UUID目录到自定义目录
Java开发效率提升:三种代码热加载方案详解

发布评论