[Javascript]使用正则表达式检查密码是否复杂度要求

2021-08-19 1444点热度 0人点赞 0条评论

本文整理了使用JS检查输入的String是否符合复杂度要求,包含常用的几种(字母、大小写、特殊符号、长度要求等)

  • 密码必须包含字母、数字和特殊符号(特殊符号可以是:`~!@#$%^&*()-=_+;':",./<>?,可以根据实际情况修改),且长度是6-32位:
console.log("isValidPassword:" + isValidPassword("11,A1"))

//6-32位,且包含字母、数字和特殊符号
function isValidPassword(password) {
    if (!password) {
        return false;
    }
    var regExp = /(?=.*[0-9])(?=.*[a-zA-Z])(?=.*[`~!@#$%^&*()-=_+;':",./<>?])(?=\S+$).{6,32}/;
    return regExp.test(password)
}
  • 密码是8-16位字母和数字组合(不得包含特殊字符)
//8-16位字母和数字组合(不得包含特殊字符)
function isValidPassword(password) {
    if (!password) {
        return false;
    }
    var regExp = /(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,16}/;
    return regExp.test(password)
}
  • 密码必须包含大写、小写、数字和特殊字符,且长度是8位以上
//包含大写、小写、数字和特殊字符,且长度是8位以上
function isValidPassword(password) {
    if (!password) {
        return false;
    }
    var regExp = /(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z])(?=.*[`~!@#$%^&*()-=_+;':",./<>?])(?=\S+$).{8,}/;
    return regExp.test(password)
}

以上列举了常见的判断密码复杂度要求的正则表达式检查的方法,供大家自行获取,或者根据自己的要求,稍加修改后使用。

admin

这个人很懒,什么都没留下

文章评论

您需要 登录 之后才可以评论