密码
密码需求
- 包含数字 + 小写字母通过验证
- 包含数字 + 大写字母通过验证
- 包含大小写字母通过验证
- 包含数字 + 大小写字母通过验证
- 下划线(_)可有可无
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_');
用户名
用户名需求
- 不能纯下划线 、 纯数字、及其它纯符号
- 2字符之间只能一个空格
- 可中、英文、数字混搭
- 数字出现次数最多6次
- 2 - 15 字符
- 合法用户名参考
- jeck ailic
- Alan Fack
- 我是老6
- 我是老 7
- 我 是 老 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)