js 正则校验密码强度(包含数字+特殊字符+英文字母大小写)

发布于2023-08-18 11:49 阅读 1102

当我们需要验证密码强度时,可以使用正则表达式来检查密码是否符合特定的要求。下面是一个使用JavaScript编写的正则表达式,用于验证密码是否包含数字、特殊字符和英文字母的大小写。

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

这个正则表达式的含义如下:

^:匹配字符串的开始位置。

(?=.*[0-9]):使用正向肯定预查来确保字符串中至少包含一个数字。

(?=.*[!@#$%^&*]):使用正向肯定预查来确保字符串中至少包含一个特殊字符。

(?=.*[a-z]):使用正向肯定预查来确保字符串中至少包含一个小写字母。

(?=.*[A-Z]):使用正向肯定预查来确保字符串中至少包含一个大写字母。

.{8,}:匹配任意字符,且长度至少为8个字符。

$:匹配字符串的结束位置。

下面是两个示例说明:

示例1:

假设我们要验证密码\”Abc123!\”的强度。我们可以使用JavaScript的test()方法来检查密码是否符合正则表达式的要求。

const password = \"Abc123!\";
const regex = /^(?=.*[0-9])(?=.*[!@#$%^&*])(?=.*[a-z])(?=.*[A-Z]).{8,}$/;

if (regex.test(password)) {
  console.log(\"密码强度符合要求\");
} else {
  console.log(\"密码强度不符合要求\");
}

输出结果为:\”密码强度符合要求\”,因为密码\”Abc123!\”包含数字、特殊字符和英文字母的大小写,并且长度为8个字符以上。


示例2:

假设我们要验证密码\”password123\”的强度。同样,我们可以使用JavaScript的test()方法来检查密码是否符合正则表达式的要求。

const password = \"password123\";
const regex = /^(?=.*[0-9])(?=.*[!@#$%^&*])(?=.*[a-z])(?=.*[A-Z]).{8,}$/;

if (regex.test(password)) {
  console.log(\"密码强度符合要求\");
} else {
  console.log(\"密码强度不符合要求\");
}

输出结果为:\”密码强度不符合要求\”,因为密码\”password123\”缺少特殊字符。

通过使用这个正则表达式,我们可以验证密码是否符合包含数字、特殊字符和英文字母大小写的要求。

评论

全部评论

{{item.username}}
{{item.comment_content}}
回复

{{reply.username}} 回复:{{reply.replyname}}

{{reply.content}}

{{reply.isshow ? '取消回复' : '回复'}}

作者

程序员李蛋

一个早早地学会让自己的灵魂充分扩展的人,以后才能将整个世界收入自己的灵魂当中。