常见的一些校验规则
-
- 校验输入必须为汉字,包含少数民族姓名中"·"的校验
- 校验是否是车牌号
- 校验是否是手机号或者电话号
- 校验是否是校验正整数
- 校验是否是纯数字(Integer)
- 校验是否是非负数
- 校验是否是邮箱
- 校验是否是数字和英文字母组成
- 校验是否是非负整数
- 校验是否符合日期格式
- 校验是否区号
- 校验是否包含IOQ
- 校验是否邮编校验
- 身份证校验
- 小数位不超过2位
校验输入必须为汉字,包含少数民族姓名中"·"的校验
_isChinese(strValue) {
let reg = /^[\u4e00-\u9fa5]+(·[\u4e00-\u9fa5]+)*$/;
return reg.test(strValue);
}
校验是否是车牌号
_isLicensePlate(strValue) {
let license_plate_reg = /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领]{1}[A-HJ-NP-Z]{1}[A-HJ-NP-Z0-9]{4,5}[A-HJ-NP-Z0-9挂学警港澳]{1}$/;
return license_plate_reg.test(strValue);
}
校验是否是手机号或者电话号
_isTelOrMobile(strValue) {
let phone_reg = /^0\d{2,3}-\d{7,8}(-\d{1,6})?$/;
let mobile_reg = /^(1(3|4|5|6|7|8|9)\d{9})$/;
return phone_reg.test(strValue) || mobile_reg.test(strValue);
}
校验是否是校验正整数
_isPosInteger(strValue) {
let reg = /^[1-9]*[1-9][0-9]*$/;
return reg.test(strValue);
}
校验是否是纯数字(Integer)
_isInteger(strValue) {
let reg = /^[0-9]*$/;
return reg.test(strValue);
}
校验是否是非负数
_isNonnegative(strValue) {
let reg = /^((\d|[1-9]\d+)(\.\d+)?)$/;
return reg.test(strValue);
}
校验是否是邮箱
_isEmail(strValue) {
let reg = /^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;
return reg.test(strValue);
}
校验是否是数字和英文字母组成
_isNumOrLetter(strValue) {
let reg = /^[A-Za-z0-9-]+$/;
return reg.test(strValue);
}
校验是否是非负整数
_isNonnegativeInt(strValue) {
let reg = /^\d+$/;
return reg.test(strValue);
}
校验是否符合日期格式
_isValidDate(strValue) {
let reg = /^[1-9]\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$/;
return reg.test(strValue);
}
校验是否区号
_isAreaCode(strValue) {
let reg = /^0(\d{1,3}-?)/;
return reg.test(strValue);
}
校验是否包含IOQ
_isIOQ(strValue) {
let reg = /.*i.*|.*I.*|.*o.*|.*O.*|.*q.*|.*Q.*/;
return reg.test(strValue);
}
校验是否邮编校验
_isPostCode(strValue) {
let reg = /^[0-9][0-9]{5}$/;
return reg.test(strValue);
}
身份证校验
_checkIdentifyCard(idcard, text) {
let errMsg = "";
if (idcard.trim() != "") {
let Errors = new Array("验证通过!", text + "位数不对!", text + "出生日期超出范围或含有非法字符!",
text + "不符合校验规则!", "身份证地区非法!");
let area = {
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: "xingjiang",
71: "台湾",
81: "香港",
82: "澳门",
91: "国外"
}
var Y, JYM;
var S, M;
var idcard_array = new Array();
idcard_array = idcard.split("");
var ereg = "";
switch (idcard.length) {
case 15:
if ((parseInt(idcard.substr(6, 2)) + 1900) % 4 == 0 ||
((parseInt(idcard.substr(6, 2)) + 1900) % 100 == 0 && (parseInt(idcard
.substr(6, 2)) + 1900) % 4 == 0)) {
ereg = /^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}$/;
} else {
ereg = /^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}$/;
}
if (!ereg.test(idcard)) {
errMsg = Errors[2];
}
break;
case 18:
if (parseInt(idcard.substr(6, 4)) % 4 == 0 ||
(parseInt(idcard.substr(6, 4)) % 100 == 0 && parseInt(idcard
.substr(6, 4)) % 4 == 0)) {
ereg = /^[1-9][0-9]{5}(19[0-9]{2}|20[0-1][0-9])((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}[0-9X]$/;
} else {
ereg = /^[1-9][0-9]{5}(19[0-9]{2}|20[0-1][0-9])((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}[0-9X]$/;
}
if (ereg.test(idcard)) {
S = (parseInt(idcard_array[0]) + parseInt(idcard_array[10])) *
7 +
(parseInt(idcard_array[1]) + parseInt(idcard_array[11])) *
9 +
(parseInt(idcard_array[2]) + parseInt(idcard_array[12])) *
10 +
(parseInt(idcard_array[3]) + parseInt(idcard_array[13])) *
5 +
(parseInt(idcard_array[4]) + parseInt(idcard_array[14])) *
8 +
(parseInt(idcard_array[5]) + parseInt(idcard_array[15])) *
4 +
(parseInt(idcard_array[6]) + parseInt(idcard_array[16])) *
2 +
parseInt(idcard_array[7]) * 1 +
parseInt(idcard_array[8]) * 6 +
parseInt(idcard_array[9]) * 3;
Y = S % 11;
M = "F";
JYM = "10X98765432";
M = JYM.substr(Y, 1);
if (!(M == idcard_array[17])) {
errMsg = Errors[3];
}
} else {
errMsg = Errors[2];
}
break;
default:
errMsg = Errors[1];
break;
}
if (errMsg === "") {
if (area[parseInt(idcard.substr(0, 2))] == null) {
errMsg = Errors[4];
}
}
}
return errMsg;
}
小数位不超过2位
_decimalPoint(strValue){
let reg = /^(([1-9][0-9]*)|(([0]\.\d{1,2}|[1-9][0-9]*\.\d{1,2})))$/;
return reg.test(strValue);
}