正则--密码验证--数字、大写字母、小写字母、字符4种中至少包含3种

该博客探讨了如何使用正则表达式创建一个密码验证规则,该规则要求密码至少包含10个字符,并且必须包括至少3种类型的字符:小写字母、大写字母、数字和特殊符号。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 生成一个正则
const RegExpObject = new RegExp(str); // str = '[a-z]' || str = '[0-9]' || str = '[\\u0020-\\u002F\\u003A-\\u0040\\u005B-\\u0060\\u007B-\\u007E]'
  • 正则检测
 RegExpObject.test(str);  // str为要检测的字符串
  • 正则验证(密码(至少10个字符且至少包括以下其中3种:小写字母、大写字母、数字和符号))
passwordValid(str){
  // 写出数字、大小写字母、字符这4种正则表达式
  const rC = {
    lw: '[a-z]',
    uw: '[A-Z]',
    nw: '[0-9]',
    rw: '[\\u0020-\\u002F\\u003A-\\u0040\\u005B-\\u0060\\u007B-\\u007E]'
  }
  // 写出正则校验函数
  function Reg(str,rStr){
    const reg = new RegExp(rStr);
    if(reg.test(str)){
      return true;
    } else {
      return false;
    }
  }
  // 封装
  const tR = {
    l: Reg(str, rC.lw),
    u: Reg(str, rC.uW),
    n: Reg(str, rC.nW),
    s: Reg(str, rC.sW)
  }
  // 校验
  if(str && str.length < 10){
     return false;
  } else {
     if((tR.l && tR.u && tR.n) || (tR.l && tR.u && tR.s) || (tR.s && tR.u && tR.n) || (tR.s && tR.l && tR.n)){
       return true;
     }else{
       return false;
     }
  }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值