@explores/reg
Version:
正则库
91 lines (86 loc) • 2.46 kB
JavaScript
/**
* @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 };