java登录密码校验

文章介绍了JavaScript函数,用于检查密码的强度,包括长度、字符类型(大写、小写、数字、特殊字符)、连续数字和字母的校验规则,以及相应的错误提示消息。
摘要由CSDN通过智能技术生成

密码校验

// 密码强度校验
inputMethodPassword(value) {
  console.log('value:', value)
  // 密码为八位及以上并且大小写字母数字特殊字符三项都包括
  var strongRegex = new RegExp('^(?=.{8,})(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*\\W).*$', 'g')
  // 密码为八位及以上并且大小写字母、数字、特殊字符三项中有两项,强度是中等
  var mediumRegex = new RegExp('^(?=.{8,})(((?=.*[A-Z])(?=.*[a-z]))|((?=.*[A-Z])(?=.*[0-9]))|((?=.*[a-z])(?=.*[0-9]))|((?=.*[a-z])(?=.*\\W))|((?=.*[0-9])(?=.*\\W))|((?=.*[A-Z])(?=.*\\W))).*$', 'g')
  var enoughRegex = new RegExp('(?=.{8,}).*', 'g')
  if (strongRegex.test(value)) {
    // console.log('强密码-----',value)
    this.str2 = '密码强度不错哦!'
    this.note = '请至少使用大小写字母、数字、符号两种类型组合的密码,长度至少为8位。<i>当前密码强度:强</i>'
  } else if (mediumRegex.test(value)) {
    // console.log('中等密码-----',value)
    this.note = '请至少使用大小写字母、数字、符号两种类型组合的密码,长度至少为8位。<i>当前密码强度:中等</i>'
    this.str2 = '密码强度中等!'
  } else if (enoughRegex.test(value)) {
    // console.log('弱密码-----',value)
    this.str2 = '密码强度太弱,请至少使用字母、数字、符号两种类型组合的密码!'
    this.note = '请至少使用大小写字母、数字、符号两种类型组合的密码,长度至少为8位。<i>当前密码强度:弱</i>'
  } else {
    this.note = '请至少使用大小写字母、数字、符号两种类型组合的密码,长度至少为8位。'
    // console.log('密码-----',value)
  }
},
// 密码中不能出现连续的数字
checkNumSeq(password) {
  console.log(password, '========================')
  if (password) {
    var len = password.length
    for (var i = 0; i < len; ++i) {
      if (i + 3 < len) {
        var c1 = password.charAt(i) - 0
        var c2 = password.charAt(i + 1) - 0
        var c3 = password.charAt(i + 2) - 0
        var c4 = password.charAt(i + 3) - 0
        if (isNaN(c1) || isNaN(c2) || isNaN(c3) || isNaN(c4)) { continue }
        var m = c2 - c1
        if (m === 1 || m === -1) {
          if ((c3 - c2) === m && (c4 - c3) === m) {
            return this.msgError(this.$t('密码中不能出现连续的数字'))
          } else {
            return this.msgError(this.$t('通过了'))
          }
        }
      }
    }
  }
  return false
},
  // 密码中不能出现连续的字母
      checkSeqChar(password){
        if (password) {
          var pwd = password.toUpperCase()
          var len = pwd.length
          for (var i = 0; i < len; ++i) {
            if (i + 3 < len) {
              var u1 = pwd.charCodeAt(i)
              var u2 = pwd.charCodeAt(i + 1)
              var u3 = pwd.charCodeAt(i + 2)
              var u4 = pwd.charCodeAt(i + 3)

              var m = u2 - u1
              if (m === 1 || m === -1) {
                if (u3 - u2 === m && u4 - u3 === m) return true
              }
            }
          }
        }
        return false
      }
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值