网站首页 > java教程 正文
结合网上资料和自己验证,总结下前端常用的正则验证规则
/**
* 1、手机号码
* @param val 当前值字符串
* @returns 返回 true: 手机号码正确
*/
export function verifyPhone(val: string) {
// false: 手机号码不正确
if (!/^((12[0-9])|(13[0-9])|(14[5|7])|(15([0-3]|[5-9]))|(18[0|1,5-9]))\d{8}$/.test(val)) return false;
// true: 手机号码正确
else return true;
}
/**
* 2、密码 (以字母开头,长度在6~18之间,只能包含字母、数字和下划线)
* @param val 当前值字符串
* @returns 返回 true: 密码正确
*/
export function verifyPassword(val: string) {
// false: 密码不正确
if (!/^[a-zA-Z]\w{5,17}$/.test(val)) return false;
// true: 密码正确
else return true;
}
/**
* 3、强密码 (字母+数字+特殊字符,长度在6-18之间)
* @param val 当前值字符串
* @returns 返回 true: 强密码正确
*/
export function verifyPasswordPower(val: string) {
// false: 强密码不正确
if (!/^(?![a-zA-z]+$)(?!\d+$)(?![!@#$%^&\.*]+$)(?![a-zA-z\d]+$)(?![a-zA-z!@#$%^&\.*]+$)(?![\d!@#$%^&\.*]+$)[a-zA-Z\d!@#$%^&\.*]{6,18}$/.test(val))
return false;
// true: 强密码正确
else return true;
}
/**
* 4、密码强度
* @param val 当前值字符串
* @description 弱:纯数字,纯字母,纯特殊字符
* @description 中:字母+数字,字母+特殊字符,数字+特殊字符
* @description 强:字母+数字+特殊字符
* @returns 返回处理后的字符串:弱、中、强
*/
export function verifyPasswordStrength(val: string) {
let newValue = '';
// 弱:纯数字,纯字母,纯特殊字符
if (/^(?:\d+|[a-zA-Z]+|[!@#$%^&\.*]+){6,16}$/.test(val)) newValue = '弱';
// 中:字母+数字,字母+特殊字符,数字+特殊字符
if (/^(?![a-zA-z]+$)(?!\d+$)(?![!@#$%^&\.*]+$)[a-zA-Z\d!@#$%^&\.*]{6,16}$/.test(val)) newValue = '中';
// 强:字母+数字+特殊字符
if (/^(?![a-zA-z]+$)(?!\d+$)(?![!@#$%^&\.*]+$)(?![a-zA-z\d]+$)(?![a-zA-z!@#$%^&\.*]+$)(?![\d!@#$%^&\.*]+$)[a-zA-Z\d!@#$%^&\.*]{6,16}$/.test(val))
newValue = '强';
// 返回结果
return newValue;
}
/**
* 5、正整数验证
* @param val 当前值字符串
* @returns 返回处理后的字符串
*/
export function verifiyNumberInteger(val: string) {
// 匹配空格
let newValue = val.replace(/(^\s*)|(\s*$)/g, '');
// 去掉 '.' , 防止贴贴的时候出现问题 如 0.1.12.12
newValue = newValue.replace(/[\.]*/g, '');
// 去掉以 0 开始后面的数, 防止贴贴的时候出现问题 如 00121323
newValue = newValue.replace(/(^0[\d]*)$/g, '0');
// 首位是0,只能出现一次
newValue = newValue.replace(/^0\d$/g, '0');
// 只匹配数字
newValue = newValue.replace(/[^\d]/g, '');
// 返回结果
return newValue;
}
/**
* 6、禁止输入空格
* @param val 当前值字符串
* @returns 返回处理后的字符串
*/
export function verifyAndSpace(val: string) {
// 匹配空格
let newValue = val.replace(/(^\s*)|(\s*$)/g, '');
// 返回结果
return newValue;
}
/**
* 7、登录账号 (字母开头,允许5-16字节,允许字母数字下划线)
* @param val 当前值字符串
* @returns 返回 true: 登录账号正确
*/
export function verifyAccount(val: string) {
// false: 登录账号不正确
if (!/^[a-zA-Z][a-zA-Z0-9_]{4,15}$/.test(val)) return false;
// true: 登录账号正确
else return true;
}
/**
* 8、邮箱
* @param val 当前值字符串
* @returns 返回 true: 邮箱正确
*/
export function verifyEmail(val: string) {
// false: 邮箱不正确
if (
!/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(
val
)
)
return false;
// true: 邮箱正确
else return true;
}
/**
*9、 身份证
* @param val 当前值字符串
* @returns 返回 true: 身份证正确
*/
export function verifyIdCard(val: string) {
// false: 身份证不正确
if (!/^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/.test(val)) return false;
// true: 身份证正确
else return true;
}
如果对您有帮助,帮忙关注下,您的关注是我更新最大的动力!谢谢~
猜你喜欢
- 2024-10-19 java正则表达式入坑指南(java正则表达式用法)
- 2024-10-19 js正则表达式验证大全(js正则表达式用法)
- 2024-10-19 使用Annotation注解在实体类中进行参数校验
- 2024-10-19 SpringBoot分组校验及自定义校验注解
- 2024-10-19 统一参数校验validator 从使用到走向自定义参数校验
- 2024-10-19 SpringValidation用注解代替代码参数校验解析
- 2024-10-19 使用正则表达式验证身份证号-C#学习进阶
- 2024-10-19 Python正则校验手机、电话号码有效性
- 2024-10-19 javascript 正则表达式校验密码格式
- 2024-10-19 【小工具】JS密码强弱正则校验、邮箱校验
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)