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

  • 生成一个正则
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;
     }
  }
}

你可能感兴趣的:(js)