【正则】正则表达式 | 邮箱校验 | 密码校验 | 用户名校验

密码

密码需求

  1. 包含数字 + 小写字母通过验证
  2. 包含数字 + 大写字母通过验证
  3. 包含大小写字母通过验证
  4. 包含数字 + 大小写字母通过验证
  5. 下划线(_)可有可无

demo

  /* 
  需求:密码验证
      - 密码6 - 20位
          - 由数字字母下划线(_)组成

  验证:
  1. 包含数字 + 小写字母通过验证
  2. 包含数字 + 大写字母通过验证
  3. 包含大小写字母通过验证
  4. 包含数字 + 大小写字母通过验证
  5. 下划线(_)可有可无 
  */
  const pwdReg = /(?!^\d{6,20}$)(?!^[a-z]{6,20}$)(?!^[A-Z]{6,20}$)(?!^_{6,20}$)^\w{6,20}$/g.test('12345qweW_');

用户名

用户名需求

  1. 不能纯下划线 、 纯数字、及其它纯符号
  2. 2字符之间只能一个空格
  3. 可中、英文、数字混搭
  4. 数字出现次数最多6次
  5. 2 - 15 字符
  • 合法用户名参考
    1. jeck ailic
    2. Alan Fack
    3. 我是老6
    4. 我是老 7
    5. 我 是 老 6

demo

const userName = '我是老6'
const umRepSpa = userName .replace(/\s{2,}/g, ' ').trim() //2空格以上替换为1空格 
const userNameReg = /(?!^\d+$)^[a-zA-Z0-9\s\u4e00-\u9fa5]{2,15}$/.test(username)// 不能纯数字 ,用户名2-15字符  | 用户名校验 2-15字 | 不能是下划线 最多一个空格 | 只能中、英文、数字 。 不能纯数字,及其它符号  

const numCount = username.match(/\d/g).length//数字出现次数 最多6次

const userNameVai = numCount <= 6 && userNameReg === true

// res -》 true 合法| false 不合法
const res = userNameVai === true ? true : false

邮箱校验

const email = '[email protected]'

// res -> true 合法 | false 不合法
const res =  /^[a-zA-Z0-9_.-]{5,}@[a-zA-Z0-9-]+(\\.[a-zA-Z0-9-]+)*\.[a-zA-Z0-9]{2,6}$/.test(email)

猜你喜欢

转载自blog.csdn.net/qq_43614372/article/details/130714376