javascript - 在javascript中添加多个正则表达式

标签 javascript

我需要验证我的密码,使其必须包含小写字母、大写字母、数字和特殊字符。 我的代码如下所示:

if (password.length < 8 || !/([a-zA-Z])/.test(password) || !/([0-9])/.test(password) || !/([!,%,&,@,#,$,^,*,?,_,~])/.test(password)){
     console.log('Error: password is too weak');
}

如您所见,我在 if 条件下进行了许多测试。我可以将其设为单个正则表达式来实现我的目的吗?

最佳答案

你可以试试这个:

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

if (!regex.test(password)) {
    console.log('Error: password is too weak');
}

(?=.*[a-z]) 检查密码是否至少包含 1 个小写字符

(?=.*[A-Z]) 检查密码是否至少包含 1 个大写字符

(?=.*[0-9]) 检查密码是否至少包含 1 个数字字符

(?=.*[!@#\$%\^&\*]) 检查密码是否至少包含 1 个特殊字符。

(?=.{8,}) 检查密码是否至少包含 8 个字符或更多。

关于javascript - 在javascript中添加多个正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36841627/

相关文章:

javascript - 我们可以在 highcharts 中制作嵌套的圆环图吗?

javascript - 使用js和css创建一个 'slide-in'菜单

javascript - 使用 NG Repeat 继续打印数组

javascript - 检查是否存在多个文件夹?

javascript - 当元素出现在屏幕上时如何启动动画?

javascript - 手动缩放时出现 d3 错误

javascript - Ajax 自动填充不适用于动态字段但静态字段

javascript - 为什么 uibmodals 只能在第二次调用时拖动?

javascript - 当我刷新试剂页面时,Firebase 数据不可用,因此出现异常

javascript - 无法在 axios 回调中访问更正此问题