@eliduty/validator
Version:
该工具库主要是验证器工具类,包含了日常常用的验证工具函数
139 lines (136 loc) • 5.04 kB
JavaScript
;
function isEmail(val) {
return /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/g.test(val);
}
function isPostcode(val) {
return /^(0[1-7]|1[0-356]|2[0-7]|3[0-6]|4[0-7]|5[1-7]|6[1-7]|7[0-5]|8[013-6])\d{4}$/g.test(val);
}
function isWeChatNum(val) {
return /^[a-zA-Z][-_a-zA-Z0-9]{5,19}$/g.test(val);
}
function isTrainNum(val) {
return /^[GCDZTSPKXLY1-9]\d{1,4}$/g.test(val);
}
function isColor16(val) {
return /^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/g.test(val);
}
function isIMEI(val) {
return /^\d{15,17}$/g.test(val);
}
function isTelephone(val) {
return /\d{3}-\d{8}|\d{4}-\d{7}/g.test(val);
}
function isPhone(val) {
return /^(?:(?:\+|00)86)?1[3-9]\d{9}$/g.test(val);
}
function isIDCard(val) {
return /(^\d{8}(0\d|10|11|12)([0-2]\d|30|31)\d{3}$)|(^\d{6}(18|19|20)\d{2}(0\d|10|11|12)([0-2]\d|30|31)\d{3}(\d|X|x)$)/g.test(val);
}
function isUrl(val) {
return /^(((ht|f)tps?):\/\/)?[\w-]+(\.[\w-]+)+([\w.,@?^=%&:/~+#-]*[\w@?^=%&/~+#-])?$/g.test(val);
}
function isCreditCode(val) {
return /^[0-9A-HJ-NPQRTUWXY]{2}\d{6}[0-9A-HJ-NPQRTUWXY]{10}$/g.test(val);
}
function isIP(val) {
return /^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/.test(val);
}
function isSubnetMask(val) {
return /^(?:\d{1,2}|1\d\d|2[0-4]\d|25[0-5])(?:\.(?:\d{1,2}|1\d\d|2[0-4]\d|25[0-5])){3}$/g.test(val);
}
function isVersion(val) {
return /^\d+(?:\.\d+){2}$/g.test(val);
}
function isImageUrl(val) {
return /^https?:\/\/(.+\/)+.+(\.(gif|png|jpg|jpeg|webp|svg|psd|bmp|tif))$/i.test(val);
}
function isVideoUrl(val) {
return /^https?:\/\/(.+\/)+.+(\.(swf|avi|flv|mpg|rm|mov|wav|asf|3gp|mkv|rmvb|mp4))$/i.test(val);
}
function isBankNumber(val) {
return /^[1-9]\d{9,29}$/g.test(val);
}
function isChineseName(val) {
return /^(?:[\u4e00-\u9fa5·]{2,16})$/g.test(val);
}
function isEnglishName(val) {
return /(^[a-zA-Z]{1}[a-zA-Z\s]{0,20}[a-zA-Z]{1}$)/g.test(val);
}
function isLicensePlateNumber(val) {
return /^(?:[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领 A-Z]{1}[A-HJ-NP-Z]{1}(?:(?:[0-9]{5}[DF])|(?:[DF](?:[A-HJ-NP-Z0-9])[0-9]{4})))|(?:[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领 A-Z]{1}[A-Z]{1}[A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9 挂学警港澳]{1})$/g.test(val);
}
function isPassport(val) {
return /(^[EeKkGgDdSsPpHh]\d{8}$)|(^(([Ee][a-fA-F])|([DdSsPp][Ee])|([Kk][Jj])|([Mm][Aa])|(1[45]))\d{7}$)/g.test(val);
}
function isQQ(val) {
return /^[1-9][0-9]{4,10}$/g.test(val);
}
function isPositiveNum(val) {
return /^[1-9]\d*$/.test(val.toString());
}
function isNegativeNum(val) {
return /^-[1-9]\d*$/.test(val.toString());
}
function isInteger(val) {
return /^(-|\+)?\d+$/.test(val.toString());
}
function isNotNegativeFloatNum(val) {
return /^\d+(\.\d+)?$/.test(val.toString());
}
function isAZaz(val) {
return /^[A-Za-z]+$/.test(val);
}
function isAZ(val) {
return /^[A-Z]+$/.test(val);
}
function isaz(val) {
return /^[a-z]+$/.test(val);
}
function isNoWord(val) {
return /^[^A-Za-z]*$/g.test(val);
}
function isCNAndNumber(val) {
return /^((?:[\u3400-\u4DB5\u4E00-\u9FEA\uFA0E\uFA0F\uFA11\uFA13\uFA14\uFA1F\uFA21\uFA23\uFA24\uFA27-\uFA29]|[\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0])|(\d))+$/g.test(val);
}
function isTellAndPhoneNumber(val) {
const tellReg = /(\d{3,4}-?)(\d{3,4}-?)(\d{3,4})/;
const phReg = /^[1][3,4,5,6,7,8,9][0-9]{9}$/;
const prefixReg = /^[1][3,4,5,6,7,8,9]/;
if (!val)
return !val;
if (val.indexOf("-") > 0 || !prefixReg.test(val.trim()))
return tellReg.test(val.trim());
return phReg.test(val.trim());
}
exports.isAZ = isAZ;
exports.isAZaz = isAZaz;
exports.isBankNumber = isBankNumber;
exports.isCNAndNumber = isCNAndNumber;
exports.isChineseName = isChineseName;
exports.isColor16 = isColor16;
exports.isCreditCode = isCreditCode;
exports.isEmail = isEmail;
exports.isEnglishName = isEnglishName;
exports.isIDCard = isIDCard;
exports.isIMEI = isIMEI;
exports.isIP = isIP;
exports.isImageUrl = isImageUrl;
exports.isInteger = isInteger;
exports.isLicensePlateNumber = isLicensePlateNumber;
exports.isNegativeNum = isNegativeNum;
exports.isNoWord = isNoWord;
exports.isNotNegativeFloatNum = isNotNegativeFloatNum;
exports.isPassport = isPassport;
exports.isPhone = isPhone;
exports.isPositiveNum = isPositiveNum;
exports.isPostcode = isPostcode;
exports.isQQ = isQQ;
exports.isSubnetMask = isSubnetMask;
exports.isTelephone = isTelephone;
exports.isTellAndPhoneNumber = isTellAndPhoneNumber;
exports.isTrainNum = isTrainNum;
exports.isUrl = isUrl;
exports.isVersion = isVersion;
exports.isVideoUrl = isVideoUrl;
exports.isWeChatNum = isWeChatNum;
exports.isaz = isaz;