专业的JAVA编程教程与资源

网站首页 > java教程 正文

vue正则验证汇总(手机号、密码、正整数、邮箱、身份证等)

temp10 2024-10-19 15:01:06 java教程 11 ℃ 0 评论

结合网上资料和自己验证,总结下前端常用的正则验证规则

/**

vue正则验证汇总(手机号、密码、正整数、邮箱、身份证等)

* 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;

}



如果对您有帮助,帮忙关注下,您的关注是我更新最大的动力!谢谢~

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表