jr-util
Version:
这是MJR的JS工具库。定期更新
65 lines (64 loc) • 3.18 kB
JavaScript
const I = (e) => {
if (e === "")
return !1;
var r = {
11: "\u5317\u4EAC",
12: "\u5929\u6D25",
13: "\u6CB3\u5317",
14: "\u5C71\u897F",
15: "\u5185\u8499\u53E4",
21: "\u8FBD\u5B81",
22: "\u5409\u6797",
23: "\u9ED1\u9F99\u6C5F",
31: "\u4E0A\u6D77",
32: "\u6C5F\u82CF",
33: "\u6D59\u6C5F",
34: "\u5B89\u5FBD",
35: "\u798F\u5EFA",
36: "\u6C5F\u897F",
37: "\u5C71\u4E1C",
41: "\u6CB3\u5357",
42: "\u6E56\u5317",
43: "\u6E56\u5357",
44: "\u5E7F\u4E1C",
45: "\u5E7F\u897F",
46: "\u6D77\u5357",
50: "\u91CD\u5E86",
51: "\u56DB\u5DDD",
52: "\u8D35\u5DDE",
53: "\u4E91\u5357",
54: "\u897F\u85CF",
61: "\u9655\u897F",
62: "\u7518\u8083",
63: "\u9752\u6D77",
64: "\u5B81\u590F",
65: "\u65B0\u7586",
71: "\u53F0\u6E7E",
81: "\u9999\u6E2F",
82: "\u6FB3\u95E8",
91: "\u56FD\u5916"
}, a, n, p, s, u = new Array();
if (u = e.split(""), r[parseInt(e.substr(0, 2))] == null)
return !1;
var t = "";
switch (e.length) {
case 15:
return (parseInt(e.substr(6, 2)) + 1900) % 4 == 0 || (parseInt(e.substr(6, 2)) + 1900) % 100 == 0 && (parseInt(e.substr(6, 2)) + 1900) % 4 == 0 ? t = /^[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}$/ : t = /^[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}$/, !!t.test(e);
case 18:
return parseInt(e.substr(6, 4)) % 4 == 0 || parseInt(e.substr(6, 4)) % 100 == 0 && parseInt(e.substr(6, 4)) % 4 == 0 ? t = /^[1-9][0-9]{5}(19|20)[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}[0-9Xx]$/ : t = /^[1-9][0-9]{5}(19|20)[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}[0-9Xx]$/, t.test(e) ? (p = (parseInt(u[0]) + parseInt(u[10])) * 7 + (parseInt(u[1]) + parseInt(u[11])) * 9 + (parseInt(u[2]) + parseInt(u[12])) * 10 + (parseInt(u[3]) + parseInt(u[13])) * 5 + (parseInt(u[4]) + parseInt(u[14])) * 8 + (parseInt(u[5]) + parseInt(u[15])) * 4 + (parseInt(u[6]) + parseInt(u[16])) * 2 + parseInt(u[7]) * 1 + parseInt(u[8]) * 6 + parseInt(u[9]) * 3, a = p % 11, s = "F", n = "10x98765432", s = n.substr(a, 1), s == u[17].toLocaleLowerCase()) : !1;
default:
return !1;
}
}, l = (e) => /^[1][3,4,5,6,7,8,9][0-9]{9}$/.test(e);
function F(e) {
return /^(https?|ftp):\/\/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}|([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:[0-9]+)*(\/($|[a-zA-Z0-9.,?'\\+&%$#=~_-]+))*$/.test(e);
}
function o(e) {
return /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(e);
}
export {
o as validEmail,
I as validIdCard,
l as validMobile,
F as validURL
};