Bootstrap

常用的表单校验规则

本人总结的一些常规表单校验正则规则
1.用户名校验
export function checkUsername(filed, value, cb) {
// 要校验值
if (value === “”) {
// 提示错误
return cb(new Error(“用户名不能为空”));
}
// 用户名是4-8位
// if (!/^\w{4,8}$/.test(value)) {
// // 提示错误
// return cb(new Error(‘用户名是4-8位的’))
// }
// 校验成功必须要执行cb
cb();
}
2.密码校验
export function checkPassword(filed, value, cb) {
// 要校验值
if (value === “”) {
// 提示错误
return cb(new Error(“密码不能为空”));
}
// 密码必须包含字母和数字
// if (!/[a-zA-Z].\d|\d.[a-zA-Z]/.test(value)) {
// // 提示错误
// return cb(new Error(‘密码必须包含字母和数字’))
// }
// 校验成功必须要执行cb
cb();
}
3.身份证校验
export function IdentityCodeValid(value) {
//验证身份证合法性
var city = {
11: “北京”,
12: “天津”,
13: “河北”,
14: “山西”,
15: “内蒙古”,
21: “辽宁”,
22: “吉林”,
23: "黑龙江 ",
31: “上海”,
32: “江苏”,
33: “浙江”,
34: “安徽”,
35: “福建”,
36: “江西”,
37: “山东”,
41: “河南”,
42: "湖北 ",
43: “湖南”,
44: “广东”,
45: “广西”,
46: “海南”,
50: “重庆”,
51: “四川”,
52: “贵州”,
53: “云南”,
54: "西藏 ",
61: “陕西”,
62: “甘肃”,
63: “青海”,
64: “宁夏”,
65: “新疆”,
71: “台湾”,
81: “香港”,
82: “澳门”,
91: "国外 "
};
var tip = “”;
var pass = true;

var patt1 = new RegExp(
“(1\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx] ) ∣ ( [ 1 − 9 ] d 5 d 2 ( ( 0 [ 1 − 9 ] ) ∣ ( 10 ∣ 11 ∣ 12 ) ) ( ( [ 0 − 2 ] [ 1 − 9 ] ) ∣ 10 ∣ 20 ∣ 30 ∣ 31 ) d 2 )|(^[1-9]\\d{5}\\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d{2} )([19]d5d2((0[19])(101112))(([02][19])10203031)d2)”
);
if (!value || !patt1.test(value)) {
tip = “身份证号格式错误”;
pass = false;
} else if (!city[value.substr(0, 2)]) {
tip = “地址编码错误”;
pass = false;
} else {
//18位身份证需要验证最后一位校验位
if (value.length == 18) {
value = value.split("");
//∑(ai×Wi)(mod 11)
//加权因子
var factor = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2];
//校验位
var parity = [1, 0, “X”, 9, 8, 7, 6, 5, 4, 3, 2];
var sum = 0;
var ai = 0;
var wi = 0;
for (var i = 0; i < 17; i++) {
ai = value[i];
wi = factor[i];
sum += ai * wi;
}
var last = parity[sum % 11];
if (parity[sum % 11] != value[17]) {
tip = “校验位错误”;
pass = false;
}
}
}
if (!pass)
this.$message({
message: tip,
type: “error”,
duration: 2000
});
return pass;
}

第二种
// 校验身份证
export function idCard (rule, value, callback) {
console.log(value);
if (value && (!(/\d{17}[\d|x]|\d{15}/).test(value) || (value.length !== 15 && value.length !== 18))) {
callback(new Error(‘身份证号码不符合规范’))
} else {
callback()
}
}

4.手机号校验
export function checkPhone (rule, value, callback) {
if (value && !(/^1[34578]\d{9}$/.test(value))) {
callback(new Error(‘请输入正确的手机号码!’));
}
}


  1. 1-9 ↩︎

;