1.验证身份证号
const isCardID = (sId: any) => {
let result = false;
let msg = '';
let list = [result, msg];
if (!/(^\d{15}$)|(^\d{17}(\d|X|x)$)/.test(sId)) {
console.log('你输入的身份证长度或格式错误');
result = true;
msg = '你输入的身份证长度或格式错误';
list = [result, msg];
return list;
}
//身份证城市
var aCity:any= {
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: '国外',
};
if (!aCity[parseInt(sId.substr(0, 2))]) {
console.log('你的身份证地区非法');
result = true;
msg = '你的身份证地区非法';
list = [result, msg];
return list;
}
// console.log(59,!aCity[parseInt(sId.substr(0, 2))]);
// 出生日期验证
var sBirthday = (
sId.substr(6, 4) +
'-' +
Number(sId.substr(10, 2)) +
'-' +
Number(sId.substr(12, 2))
).replace(/-/g, '/'),
d = new Date(sBirthday);
if (
sBirthday !=
d.getFullYear() + '/' + (d.getMonth() + 1) + '/' + d.getDate()
) {
console.log('身份证上的出生日期非法');
result = true;
msg = '身份证上的出生日期非法';
list = [result, msg];
return list;
}
// 身份证号码校验
var sum = 0,
weights = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2],
codes = '10X98765432';
for (var i = 0; i < sId.length - 1; i++) {
sum += sId[i] * weights[i];
}
var last = codes[sum % 11]; //计算出来的最后一位身份证号码
if (sId[sId.length - 1] != last) {
console.log('你输入的身份证号非法');
result = true;
msg = '你输入的身份证号非法';
list = [result, msg];
return list;
}
return list;
};
2.验证手机号
const isPhone = (num: any) => {
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}$/;
return reg.test(num);
}
3.验证Email地址
const isEmail = (str: any) => {
let reg = /^([a-zA-Z\d][\w-]{2,})@(\w{2,})\.([a-z]{2,})(\.[a-z]{2,})?$/;
return reg.test(str);
}
4.验证URL的校验
const isUrl = (str: any) => {
let reg =
/^((https?|ftp|file):\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/;
return reg.test(str);
}
5.验证IPv4
const isIPv4 = (str: any) => {
let reg =
/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/;
return reg.test(str);
}
6.验证16进制颜色
const isColor16Reg = (str: any) => {
let reg = /^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/;
return reg.test(str);
}
7.验证日期格式 YYYY-MM-DD/YYYY-MM-DD HH:mm:ss
// 验证日期格式 YYYY-MM-DD
const isDate = (str: any) => {
let reg = /^\d{4}(\-)\d{1,2}\1\d{1,2}$/;
return reg.test(str);
}
// 验证日期格式 YYYY-MM-DD HH:mm:ss
const isMinutes = (str: any) => {
let reg =
/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/;
return reg.test(str);
}
欢迎补充,一起进步。