UNPKG

jr-util

Version:

这是MJR的JS工具库。定期更新

65 lines (64 loc) 3.18 kB
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 };