整数
/^[0-9]*$/
小数
/(^[0-9]*\.([0-9]{1}\*)$/
整数或小数
/(^[0-9]*\.([0-9]{1}\d*)$)|(^[0-9]*$)/
最多保留两位小数点
/^[0-9]\d*$|^\d+(\.\d{1,2})
分数或者整数,1/4或者4
/(^\d+\/\d+$)|^\d+$/
验证 端口是否合法
端口范围:0-65535
if (!(/^[1-9]\d*|0$/.test(value) && (1 * value) >= 0 && (1 * value) <= 65535)) {
return false
}
验证 IP 地址是否有效
if (!(/^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/.test(value))) {
return false
}
验证 MAC 地址是否有效
validateMac(mac) {
let reg1 = /^[A-Fa-f0-9]{1,2}-[A-Fa-f0-9]{1,2}-[A-Fa-f0-9]{1,2}-[A-Fa-f0-9]{1,2}-[A-Fa-f0-9]{1,2}-[A-Fa-f0-9]{1,2}$/
let reg2 = /^[A-Fa-f0-9]{1,2}:[A-Fa-f0-9]{1,2}:[A-Fa-f0-9]{1,2}:[A-Fa-f0-9]{1,2}:[A-Fa-f0-9]{1,2}:[A-Fa-f0-9]{1,2}$/
if (reg1.test(mac)) {
return true
} else if (reg2.test(mac)) {
return true
} else {
return false
}
}
验证日期时间是否有效
验证的时间格式如:2021-08-26 11:11:11
let validateTime = /^(?:19|20)[0-9][0-9]-(?:(?:0[1-9])|(?:1[0-2]))-(?:(?:[0-2][1-9])|(?:[1-3][0-1])) (?:(?:[0-2][0-3])|(?:[0-1][0-9])):[0-5][0-9]:[0-5][0-9]$/
...
cancel_time: [{
validator: (rule, value, callback) => {
if (!['', undefined, null].includes(value) && !validateTime.test(value)) {
callback(new Error('请输入正确的时间格式'))
} else {
callback()
}
},
trigger: 'blur'
}]
...
身份证号验证
let reg = /^(([1][1-5])|([2][1-3])|([3][1-7])|([4][1-6])|([5][0-4])|([6][1-5])|([7][1])|([8][1-2]))\d{4}(([1][9]\d{2})|([2]\d{3}))(([0][1-9])|([1][0-2]))(([0][1-9])|([1-2][0-9])|([3][0-1]))\d{3}[0-9xX]$/
/**
* js正则表达式库--Regs.js
*/
/*
* 数字相关
*/
/** 手机号码正则 */
export const REGEXP_PHONE =
/^[1](([3][0-9])|([4][01456789])|([5][012356789])|([6][2567])|([7][0-8])|([8][0-9])|([9][012356789]))[0-9]{8}$/;
/** 邮箱正则 */
export const REGEXP_EMAIL = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
/** 密码正则(密码为6-18位数字/字符/符号的组合) */
export const REGEXP_PWD =
/^(?![0-9]+$)(?![a-z]+$)(?![A-Z]+$)(?!([^(0-9a-zA-Z)]|[()])+$)(?!^.*[\u4E00-\u9FA5].*$)([^(0-9a-zA-Z)]|[()]|[a-z]|[A-Z]|[0-9]){6,18}$/;
/** url链接正则 */
export const REGEXP_URL =
/(((^https?:(?:\/\/)?)(?:[-;:&=+$,\w]+@)?[A-Za-z0-9.-]+(?::\d+)?|(?:www.|[-;:&=+$,\w]+@)[A-Za-z0-9.-]+)((?:\/[+~%/.\w-_]*)?\??(?:[-+=&;%@.\w_]*)#?(?:[\w]*))?)$/;
//正数(可含小数、0)
posiNum: /^[+]{0,1}(\d+)$|^[+]{0,1}(\d+\.\d+)$/,
//正整数
posiInt: /^[1-9]\d*$/,
//0或正整数
posiInt0: /^(0|[1-9][0-9]*)$/,
//2位的数字
numLen2: /^[0-9]{2}$/,
// 2-3位的数字:
numLen2or3: /^\d{1,3}$/,
// 非零开头的最多带两位小数的正数:
posiFloat2: /^([1-9][0-9]*)+(\.[0-9]{1,2})?$/,
// 带1-2位小数的正数或负数:
float1or2: /^(\-)?\d+(.\d{1,2})?$/,
// 非零的负整数:
negativeInt: /^-[1-9]\d*$/,
// 负数或0:
negative0: /^-[1-9]\d*|0$/,
// 负整数或0:
negativeInt0: /^(-[1-9]\d*|0)$/,
// 负浮点数:
negativeFloat: /^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$/,
// 正浮点数:
posiFloat: /^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$/,
// 浮点数:
float: /^(-?\d+)(\.\d+)?$/,
/*
* 字符相关
*/
// 英文和数字:
numEn: /^[A-Za-z0-9]+$/,
// 长度为2-4的所有字符:
en2to4: /^.{2,4}$/,
// 英文字母:
En: /^[A-Za-z]+$/,
// 大写英文字母:
EN: /^[A-Z]+$/,
// 小写英文字母:
en: /^[a-z]+$/,
// 小写英文字母:
cn: /^[\u4E00-\u9FA5A]+$/,
// 数字、字母、下划线
numEn_: /^\w+$/,
// 中文、英文、数字、下划线:
numEnCn_: /^[\u4E00-\u9FA5A-Za-z0-9_]+$/,
// 中文、英文、数字:
numEnCn: /^[\u4E00-\u9FA5A-Za-z0-9]+$/,
// 含有^%&',;=?$\”等字符:
illegal: /[^%&',;=?$\x22]+/,
// Email地址:
email: /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/,
// 护照:
passport: /^1[45][0-9]{7}|G[0-9]{8}|P[0-9]{7}|S[0-9]{7,8}|D[0-9]+$/,
// 手机号码:
mobile: /^1[34578]\d{9}$/,
// 座机号码:
telephone: /0\d{2,3}-\d{5,9}|0\d{2,3}-\d{5,9}/,
// 座机或手机号:
teleMobile: /^((0\d{2,3}-\d{5,9}|0\d{2,3}-\d{5,9})|(1[34578]\d{9}))$/,
// 身份证号(15位、18位数字):
idCard: /^(^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$)|(^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])((\d{4})|\d{3}[Xx])$)$/,
// 日期: 2017-1-1或2017/1/1
date: /^\d{4}(-|\/)\d{1,2}(-|\/)\d{1,2}$/,
// 时间: 10:00:00
time: /^([01]?\d|2[0-3]):[0-5]?\d:[0-5]?\d$/,
// 日期+时间: 2017-1-1 10:00:00
datetime: /^\d{4}(-|\/)\d{1,2}(-|\/)\d{1,2}\s([01]?\d|2[0-3]):[0-5]?\d:[0-5]?\d$/,
// 一年的12个月(01~09和1~12):
month: /^(0?[1-9]|1[0-2])$/,
// 一个月的31天(01~09和1~31):
day: /^((0?[1-9])|((1|2)[0-9])|30|31)$/,
//腾讯QQ号:
qq: /[1-9][0-9]{4,}/,
//中国邮政编码:
postcode: /[1-9]\d{5}(?!\d)/,
//IP地址:
ip: /\d+\.\d+\.\d+\.\d+/,
//域名:
url: /^(?=^.{3,255}$)(http(s)?:\/\/)?(www\.)?[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+(:\d+)*(\/\w+\.\w+)*([\?&]\w+=\w*)*/,
//域名(http开头):
urlHttp: /^((ht|f)tps?):\/\/[\w\-]+(\.[\w\-]+)+([\w\-\.,@?^=%&:\/~\+#]*[\w\-\@?^=%&\/~\+#])?$/,
// 车牌:
licencePlate: /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9挂学警港澳]{1}$/,
//银行卡:
bankCardNum: /^([1-9]{1})(\d{15}|\d{18})$/,
//MAC地址:
mac: /^[A-F0-9]{2}([-:]?[A-F0-9]{2})([-:.]?[A-F0-9]{2})([-:]?[A-F0-9]{2})([-:.]?[A-F0-9]{2})([-:]?[A-F0-9]{2})$/
匹配0到1之间的数值,不包含1,最多保留2位小数。在小数部分的\d{1,2}指定了小数点后面至少有一位数字,最多有两位数字。如果你想要匹配更少或更多的小数位数,请相应地修改此正则表达式
/^(0(\.\d{1,2})?|0\.\d{1,2})$/
其他正则验证表达式:https://c.runoob.com/front-end/854/