UNPKG

@explores/reg

Version:

正则库

91 lines (86 loc) 2.46 kB
/** * @author zm * 匹配自然数 */ var Natural = /^[+]{0,1}(\d+)$/; /** * @author zm * 匹配自然数 */ var Positive = /^[+]{0,1}(\d+)$|^[+]{0,1}(\d+\.\d+)$/; /** * @author zm * @description 配置中括号里面的内容,比如 [是范德萨范德萨] */ var bracketMiddle = /\[(\w+)\]/g; /** * @author zm * @description 不能包含字母 * */ var excludeLetter = /^[^A-Za-z]*$/; /** * 身份证 */ var idCard = /^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$|^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/; /** ` * @author zm * @description 匹配手机号 * */ var phone = /^1(3|4|5|7|8)\d{9}$/; /** * @author zxf * @description 手机号(根据2021工信部更新) */ var strictPhone = /^1(3\d{2}|4[14-9]\d|5([0-35689]\d|7[1-79])|66\d|7[2-35-8]\d|8\d{2}|9[13589]\d)\d{7}$/; /** * @author zm * @description 匹配邮箱 * @example[xxx@qq.com] */ var email = /^[a-zA-Z0-9]+([-_.][a-zA-Z0-9]+)*@[a-zA-Z0-9]+([-_.][a-zA-Z0-9]+)*\.[a-z]{2,}$/; /** * @author zm * @description 匹配url地址 * @example[https://www.xxx.com] */ var url = /^((https|http|ftp|rtsp|mms)?:\/\/)[^\s]+/; /** * @author zm *@description 匹配 ip地址 * @example [192.168.0.1] */ var ip4 = /(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)/; /** * @author zm * @description 匹配qq号码 * @example [569833015] */ var qq = /[1-9]([0-9]{4,10})/; /** * @author zm * @description 火车车次 * @example ['G1868', 'D102', 'D9', 'Z5', 'Z24', 'Z17'] */ var trainNumber = /^[GCDZTSPKXLY1-9]\d{1,4}$/; /** * @author zm * @description 匹配手机IMEI * @example '123456789012345', '1234567890123456', '12345678901234567' */ var phoneIMEI = /^\d{15,17}$/; /** * @author zm * @description 统一社会信用代码(宽松匹配)(15位/18位/20位数字/字母) * @example ['91110108772551611J', '911101085923662400'] */ var creditCode = /^(([0-9A-Za-z]{15})|([0-9A-Za-z]{18})|([0-9A-Za-z]{20}))$/; /** * 最多有N位小数的正则 * @param num */ var RetainDecimal = function (num) { return new RegExp("^(d+)(.d{0," + num + ")?$"); }; export { Natural, Positive, RetainDecimal, bracketMiddle, creditCode, email, excludeLetter, idCard, ip4, phone, phoneIMEI, qq, strictPhone, trainNumber, url };