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

2 篇文章 0 订阅

密码

密码需求

  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 = '848863551@qq.com'

// 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)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值