正则校验

规则文件

点我下载最新规则文件

常用校验

中文

长度不限

1
2
3
4
5
6
7
8
9
10
11
12
13
/**
* 只能输入中文-----长度不限
*/
isZh(rule, value, callback) {
let reg = /^[\u4e00-\u9fa5]+$/
if (!value) {
callback(new Error('请输入内容'))
}else if (!reg.test(value)) {
callback(new Error('只能输入中文,请确认'))
} else {
callback();
}
}

长度限制

1
2
3
4
5
6
7
8
9
10
11
12
13
/**
* 只能输入中文-------------------------长度限制2-6
*/
isZhLen(rule, value, callback) {
let reg = /^[\u4e00-\u9fa5]{2,6}$/
if (!value) {
callback(new Error('请输入内容'))
}else if (!reg.test(value)) {
callback(new Error('只能输入 2 - 6 位中文,请确认'))
} else {
callback();
}
}

英文

长度不限

1
2
3
4
5
6
7
8
9
10
11
12
13
/**
* 只能输入英文-----长度不限
*/
isEn(rule, value, callback) {
let reg = /^[a-z]+$/i
if (!value) {
callback(new Error('请输入内容'))
}else if (!reg.test(value)) {
callback(new Error('只能输入英文,请确认'))
} else {
callback();
}
}

长度限制

1
2
3
4
5
6
7
8
9
10
11
12
13
/**
* 只能输入英文-------------------------长度限制2-6
*/
isEnLen(rule, value, callback) {
let reg = /^[a-z]{2,6}$/i
if (!value) {
callback(new Error('请输入内容'))
}else if (!reg.test(value)) {
callback(new Error('只能输入 2 - 6 位英文,请确认'))
} else {
callback();
}
}

数字

长度不限

1
2
3
4
5
6
7
8
9
10
11
12
13
/**
* 只能输入数字-----长度不限
*/
isNumber(rule, value, callback) {
let reg = /^\d+$/
if (!value) {
callback(new Error('请输入内容'))
}else if (!reg.test(value)) {
callback(new Error('只能输入数字,请确认'))
} else {
callback();
}
}

长度限制

1
2
3
4
5
6
7
8
9
10
11
12
13
/**
* 只能输入数字-------------------------长度限制2-6
*/
isNumberLen(rule, value, callback) {
let reg = /^\d{2,6}$/
if (!value) {
callback(new Error('请输入内容'))
}else if (!reg.test(value)) {
callback(new Error('只能输入 2 - 6 位数字,请确认'))
} else {
callback();
}
}

类型校验

英文、数字

1
2
3
4
5
6
7
8
9
10
11
12
13
/**
* 英文、数字-----常用于合格证编号、车架号等
*/
isEnNumber(rule, value, callback) {
let reg = /^[a-z0-9]+$/i
if (!value) {
callback(new Error('请输入内容'))
}else if (!reg.test(value)) {
callback(new Error('只能输入字母和数字,请确认'))
} else {
callback();
}
}

英文、数字、下划线

1
2
3
4
5
6
7
8
9
10
11
12
13
/**
* 英文、数字、下划线-----8-16位密码
*/
isPassword(rule, value, callback) {
let reg = /^\w{8,16}$/
if (!value) {
callback(new Error('请输入内容'))
}else if (!reg.test(value)) {
callback(new Error('只能输入 8 - 16 位字母、数字、下划线,请确认'))
} else {
callback();
}
}

中、英文、数字、下划线

1
2
3
4
5
6
7
8
9
10
11
12
13
/**
* 中、英文、数字、下划线----常用于地址校验
*/
isAddress(rule, value, callback) {
let reg = /^[\u4E00-\u9FA5A-Za-z0-9_]+$/
if (!value) {
callback(new Error('请输入内容'))
} else if (!reg.test(value)) {
callback(new Error("只能输入汉字、字母、数字和'_',请确认"));
} else {
callback();
}
}

专用校验

姓名

1
2
3
4
5
6
7
8
9
10
11
12
13
/**
* 中文名字2-4
*/
isName(rule, value, callback) {
let reg = /^[\u4e00-\u9fa5]{2,4}$/
if (!value) {
callback(new Error('请输入内容'))
}else if (!reg.test(value)) {
callback(new Error('只能输入 2 - 4 位汉字,请确认'))
} else {
callback();
}
}

手机号

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
/**
* 手机号-----包含号段的校验
*
* 手机号码起始1,第二位是3456789中的任意一个,第三位有的是0-9全段,有的只是部分,如下:
* 13和18开头的手机号是全段
* 13开头的手机号是全段:13 [0123456789] 比如130,131,132…139
* 18开头的手机号是全段:18[0123456789] 比如180,181,182…189
* 15和19开头的手机号后面除4外都有,无154和194
* 15 [012356789] 比如150,151,152,153,155…159
* 19 [012356789] 比如190,191,192,193,195…159
* 17开头的手机号后面除9外都有
* 17 [01235678] 比如170,171,172,173…178
* 14开头的手机号除2,3外都有,无142和143
* 14[01456879] 比如140,141,144,145…149
* 16开头的手机号后面只有2567
* 16[2567] 比如:162,165,166,167
*/
isPhone(rule, value, callback) {
let reg = /^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/
if (!value) {
callback(new Error('请输入内容'))
} else if (!reg.test(value) || value <= 0) {
callback(new Error('手机号格式不正确,请确认'));
} else {
callback();
}
}
1
2
3
4
5
6
7
8
9
10
/**
* 页面对电话号码进行监听,自动添加空格
*/
watch: { ["form.phone"](val) {
if(form.phone){
this.form.phone = val .replace(/\s/g, "") .replace(/[^\d]/g, "")
.replace(/(\d{3})(?=\d)/, "$1 ") .replace(/(\d{4})(?=\d)/, "$1 ");
}
}
}

年龄、年限

1
2
3
4
5
6
7
8
9
10
11
12
13
/**
* 年龄、年限、营业期限-----1-99
*/
isAge(rule, value, callback) {
let reg = /^([1-9]{1}[0-9]{0,1})$/
if (!value) {
callback(new Error('请输入内容'))
} else if (!reg.test(value)) {
callback(new Error('输入格式不正确,请确认'));
} else {
callback();
}
}

金额

1
2
3
4
5
6
7
8
9
10
11
12
13
/**
* 金额-----8位整数部分,最多保留两位小数
*/
isMoney(rule, value, callback) {
let reg = /(^([1-9]{1}[0-9]{0,7})?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/
if (!value) {
callback(new Error('请输入内容'))
} else if (!reg.test(value)) {
callback(new Error('输入格式不正确,请确认'));
} else {
callback();
}
}

百分比

1
2
3
4
5
6
7
8
9
10
11
12
13
/**
* 百分比----0-99.99
*/
isPercent(rule, value, callback) {
let reg = /(^([1-9]{1}[0-9]{0,2})?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/
if (!value) {
callback(new Error('请输入内容'))
} else if (!reg.test(value)) {
callback(new Error('输入格式不正确,请确认'));
} else {
callback();
}
}

邮箱

1
2
3
4
5
6
7
8
9
10
11
12
13
/**
* 邮箱
*/
isMail(rule, value, callback) {
let reg = /\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/
if (!value) {
callback(new Error('请输入邮箱'))
} else if (!reg.test(value)) {
callback(new Error('邮箱格式不正确,请确认'));
} else {
callback();
}
}

邮编

1
2
3
4
5
6
7
8
9
10
11
12
13
/**
* 邮编
*/
isPostcode(rule, value, callback) {
let reg = /^[1-9]\d{5}(?!\d)$/
if (!value) {
callback(new Error('请输入邮编'))
} else if (!reg.test(value)) {
callback(new Error('邮编格式不正确,请确认'));
} else {
callback();
}
}

身份证号

1
2
3
4
5
6
7
8
9
10
11
12
13
/**
* 身份证号是否正确
*/
isIDNumber(rule, value, callback) {
let reg = /^(^[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])$)$/
if (!value) {
callback(new Error('请输入身份证号'))
} else if (!reg.test(value)) {
callback(new Error('身份证号格式不正确,请确认'));
} else {
callback();
}
}

证件有效期

证件有效期起

1
2
3
4
5
6
7
8
9
10
11
12
//证件有效期起
isDateStart(rule, value, callback) {
let now = new Date().getTime() //现在
// console.log(value)
let time = value.replace(/-/g, '/')
let date = new Date(time).getTime() //当前选择的
if (date < now) {
callback()
} else {
callback(new Error('证件有效期起需要小于当前时间'))
}
},

证件有效期止

1
2
3
4
5
6
7
8
9
10
11
//证件有效期止
isDateEnd(rule, value, callback) {
let now = new Date().getTime() //现在
let time = value.replace(/-/g, '/')
let date = new Date(time).getTime() //当前选择的
if (date > now) {
callback()
} else {
callback(new Error('证件有效期止需要大于当前时间'))
}
},

银行卡号

1
2
3
4
5
6
7
8
9
10
11
12
13
/**
* 银行卡号是否正确 页面每四位一个空格(页面展示数据需要在页面监听watch)
*/
isBankNumber(rule, value, callback) {
let reg = /^([1-9]{1})(\d{15}|\d{18})$/;
if (!value) {
callback(new Error('请输入银行卡号'))
} else if (!reg.test(value)) {
callback(new Error('银行卡号格式不正确请输入16位或者19位数字'))
} else {
callback();
}
}
1
2
3
4
5
6
7
8
9
10
/**
* 页面对银行卡号进行监听,自动添加空格
*/
watch: { ['form.bankcard'](val) {
if(this.form.bankcard){
this.form.bankcard = val .replace(/\s/g, '')
.replace(/[^\d]/g, '') .replace(/(\d{4})(?=\d)/g, '$1 ');
}
}
}

统一社会信用代码

1
2
3
4
5
6
7
8
9
10
11
12
13
/**
* 统一社会信用代码
*/
isBankNumber(rule, value, callback) {
let reg = /(^[^_IOZSVa-z\W]{2}\d{6}[^_IOZSVa-z\W]{10}$)|(^[A-Za-z0-9]\w{14}$)/;
if (!value) {
callback(new Error('请输入统一社会信用代码'))
} else if (!reg.test(value)) {
callback(new Error('统一社会信用代码格式不正确,请确认'))
} else {
callback();
}
}
更新于

请我喝[茶]~( ̄▽ ̄)~*

Ming Liu 微信支付

微信支付

Ming Liu 支付宝

支付宝

Ming Liu 贝宝

贝宝