regex 正则表达式
关于更多日常使用的公共类的操作方法,可以关注下小滑轮网站http://www.feiaci.com/#/self/…
- 是否由 26 个英文字母组成的字符串
- 是否由 26 个英文字母的大写组成的字符串
- 是否由 26 个英文字母的小写组成的字符串
- 是否为数字
- 是否为中文
- 是否为手机号
- 是否电子邮件
- 是否为座机号
- 是否为身份证
- 密码验证
- 邮政编码
- 是否为qq号
- 是否为金额
- 是否为Url
- 是否为ip
- 严格的身份证校验
/**
* 是否由 26 个英文字母组成的字符串 * @param val string
* @return {boolean}
*/function isAZaz(val) {
return /^[A-Za-z]+$/.test(val);
}
/**
* 是否由 26 个英文字母的大写组成的字符串 * @param val
* @return {boolean}
*/function isAZ(val) {
return /^[A-Z]+$/.test(val);
}
/**
* 是否由 26 个英文字母的小写组成的字符串 * @param val
* @return {boolean}
*/function isaz(val) {
return /^[a-z]+$/.test(val);
}
/**
* 是否为数字 * @return {boolean}
*/function isNumber(str) {
return /^[0-9]$/.test(str)
}
/**
* 是否为中文 * @return {boolean}
*/function isChinese(str) {
return /^[u4E00-u9FA5]+$/.test(str)
}
/**
* 是否为手机号 * @return {boolean}
*/function isPhone(str) {
return /^1[3|4|5|6|7|8|9][0-9]{9}$/.test(str)
}
/**
* 是否电子邮件 * @param val
* @return {boolean}
*/function isEmail(val) {
return /^[w-]+(.[w-]+)*@[w-]+(.[w-]+)+$/.test(val) || /w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*/.test(val);
}
/**
* 是否为座机号 * @return {boolean}
*/function isTel(str) {
return /^(0d{2,3}-d{7,8})(-d{1,4})?$/.test(str)
}
/**
* 是否为身份证 * @return {boolean}
*/function isIDCard(str) {
return /(^d{15}$)|(^d{18}$)|(^d{17}(d|X|x)$)/.test(str)
}
/**
* 密码验证 * 密码以字母开头,长度在6~18之间,只能包含字母、数字和下划线 * @return {boolean}
*/function isPWD(str) {
return /^[a-zA-Z]w{5,17}$/.test(str)
}
/**
* 邮政编码 * @return {boolean}
*/function isPostal(str) {
return /[1-9]d{5}(?!d)/.test(str)
}
/**
* 是否为qq号 * @param str
* @return {boolean}
*/function isQQ(str) {
return /^[1-9][0-9]{4,9}$/.test(str)
}
/**
* 是否为金额 * 金额(小数点2位) * @param str
* @return {boolean}
*/function isMoney(str) {
return /^d*(?:.d{0,2})?$/.test(str)
}
/**
* 是否为Url * @param str
* @return {boolean}
*/function isUrl(str) {
return /(http|ftp|https)://[w-_]+(.[w-_]+)+([w-.,@?^=%&:/~+#]*[w-@?^=%&/~+#])?/.test(str)
}
/**
* 是否为ip * @param str
* @return {boolean}
*/function isIp(str) {
return /((?:(?:25[0-5]|2[0-4]d|[01]?d?d).){3}(?:25[0-5]|2[0-4]d|[01]?d?d))/.test(str)
}
/**
* 严格的身份证校验 */function isStrictIDCard(sId) {
if (!/(^d{15}$)|(^d{17}(d|X|x)$)/.test(sId)) {
alert("你输入的身份证长度或格式错误");
return false; }
//身份证城市
let aCity = {
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))]) {
alert("你的身份证地区非法");
return false; }
// 出生日期验证
let 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()
) {
alert("身份证上的出生日期非法");
return false; }
// 身份证号码校验
let sum = 0,
weights = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2],
codes = "10X98765432";
for (let i = 0; i < sId.length - 1; i++) {
sum += sId[i] * weights[i];
}
let last = codes[sum % 11]; //计算出来的最后一位身份证号码
if (sId[sId.length - 1] != last) {
alert("你输入的身份证号非法");
return false; }
return true;
}
本文来自投稿,不代表程序员编程网立场,如若转载,请注明出处:http://www.cxybcw.com/203115.html