UNPKG

validate-by-health

Version:
2 lines (1 loc) 6.57 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var VPhone=function(e,r,t){var a=void 0;(a=0!==e?e:"0")&&(a=a.toString());var i=t||null;return a&&11===a.length?/^[0-9]*$/.test(a)?"strict"===i||/^1\d{10}$/.test(a)?"strict"===i&&!/^1[3|4|5|7|8]\d{9}$/.test(a)&&(r||"请输入正确手机号码"):r||"请输入以1开头的11位手机号码":r||"手机号码格式不正确":r||"请输入11位手机号码"},VName=function(e,r,t){var a=void 0;(a=0!==e?e:"0")&&(a=a.toString());var i=t||null;return!a||a.length<1?r||"请输入您的姓名":"Zh"===i||/^[\u4E00-\u9FA5A-Za-z0-9]+$/.test(a)?"Zh"===i&&a.length<2?r||"请输您的真实姓名":"Zh"===i&&!/^[\u4e00-\u9fa5]+$/.test(a)&&(r||"请输您的真实姓名"):r||"姓名请使用非特殊字符"},VEmail=function(e,r){var t=void 0;return(t=0!==e?e:"0")&&(t=t.toString()),!t||t.length<1?r||"请输入您的邮箱":!/^(\w)+(\.\w+)*@(\w)+((\.\w+)+)$/.test(t)&&(r||"请输正确的邮箱地址")},VIdCard=function(e,r){var t=void 0;(t=0!==e?e:"0")&&(t=t.toString());var a=new Array("验证通过!","身份证号码位数不对!","身份证号码出生日期超出范围或含有非法字符!","身份证号码校验错误!","身份证地区非法!"),i=void 0,n=new Array;if(n=t.split(""),null==={11:"北京",12:"天津",13:"河北",14:"山西",15:"内蒙古",21:"辽宁",22:"吉林",23:"黑龙江",31:"上海",32:"江苏",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山东",41:"河南",42:"湖北",43:"湖南",44:"广东",45:"广西",46:"海南",50:"重庆",51:"四川",52:"贵州",53:"云南",54:"西藏",61:"陕西",62:"甘肃",63:"青海",64:"宁夏",65:"新疆",71:"台湾",81:"香港",82:"澳门",91:"国外"}[parseInt(t.substr(0,2),0)])return r||a[4];switch(t.length){case 15:return!((parseInt(t.substr(6,2),0)+1900)%4==0||(parseInt(t.substr(6,2),0)+1900)%100==0&&(parseInt(t.substr(6,2),0)+1900)%4==0?/^[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}$/:/^[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}$/).test(t)&&(r||a[2]);case 18:return(parseInt(t.substr(6,4),0)%4==0||parseInt(t.substr(6,4),0)%100==0&&parseInt(t.substr(6,4),0)%4==0?/^[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]$/:/^[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]$/).test(t)?(i=7*(parseInt(n[0],0)+parseInt(n[10],0))+9*(parseInt(n[1],0)+parseInt(n[11],0))+10*(parseInt(n[2],0)+parseInt(n[12],0))+5*(parseInt(n[3],0)+parseInt(n[13],0))+8*(parseInt(n[4],0)+parseInt(n[14],0))+4*(parseInt(n[5],0)+parseInt(n[15],0))+2*(parseInt(n[6],0)+parseInt(n[16],0))+1*parseInt(n[7],0)+6*parseInt(n[8],0)+3*parseInt(n[9],0),"F","10X98765432".substr(i%11,1)!==n[17]&&(r||a[3])):r||a[2];default:return r||a[1]}},VSecurityCode=function(e,r){var t=void 0;return(t=0!==e?e:"0")&&(t=t.toString()),t&&16===t.length?!/^[0-9]*$/.test(t)&&(r||"您输入的防伪码格式不正确,请重新输入"):r||"请输入16位防伪码"},VBarCode=function(e,r){var t=void 0;return(t=0!==e?e:"0")&&(t=t.toString()),t&&13===t.length?!/^[0-9]*$/.test(e)&&(r||"您输入的产品条形码格式不正确,请重新输入"):r||"请输入13位产品条形码"},VVerificationCode=function(e,r,t){var a=void 0;(a=0!==e?e:"0")&&(a=a.toString());var i=t||4;return t&&isNaN(i)?r||"验证码验证时参数错误":a&&a.length===i?!/^[0-9]*$/.test(a)&&(r||"您输入的验证码格式不正确,请重新输入"):r||"请输入"+i+"位验证码"},VRequire=function(e,r,t){var a=void 0;(a=0!==e?e:"0")&&(a=a.toString());var i=t||1;return isNaN(i)||!a?r||"必填项验证时参数错误":a.length<i&&(r||!0)},VLimit=function(e,r,t){var a=void 0;(a=0!==e?e:"0")&&(a=a.toString());var i=t||20;return isNaN(i)||!a?r||"限制字符串长度验证时参数错误":a.length>i},VNumber=function(e,r){var t=void 0;return(t=0!==e?e:"0")&&(t=t.toString()),!/^[0-9]*$/.test(t)&&(r||!0)},VChinese=function(e,r){var t=void 0;return(t=0!==e?e:"0")&&(t=t.toString()),!/^[\u4e00-\u9fa5]+$/.test(t)&&(r||!0)},VEnglish=function(e,r){var t=void 0;return(t=0!==e?e:"0")&&(t=t.toString()),!/^[a-zA-Z]*$/.test(t)&&(r||!0)},VEqual=function(e,r,t,a){if(e&&r){if(!1===a){if(e!==r)return t||"数据不相等!"}else if(e===r)return t||"数据相等!";return!1}console.error("请传入比较参数")},VDangerousChar=function(e,r){var t=void 0;return(t=0!==e?e:"0")&&(t=t.toString()),!!/select |update |delete |truncate |join |union |exec |insert |drop |count|’|"|;|>|<|%/i.test(t)&&(r||!0)};function validate(e,r){if(!(e&&e instanceof Object))return console.error("validate方法,请传入验证对象类型参数{key: value}"),"验证失败,传入参数不正确!";if(Array.isArray(e))return console.error("validate方法,请传入验证对象类型参数{key: value}"),"验证失败,传入参数不正确!";if(r&&"boolean"==typeof r){var t={};for(var a in e)if({}.hasOwnProperty.call(e,a)){if(-1!==a.indexOf("_")){var i=a.split("_")[0];if(validate[i])if(Array.isArray(e[a])){var n=validate[i].apply(validate[i],e[a]);t[a]=n||!1}else{var s=validate[i](e[a]);t[a]=s||!1}}if(-1===a.indexOf("_")&&validate[a])if(Array.isArray(e[a])){var o=validate[a].apply(validate[a],e[a]);t[a]=o||!1}else{var l=validate[a](e[a]);t[a]=l||!1}}return t}for(var u in e)if({}.hasOwnProperty.call(e,u)){if(-1!==u.indexOf("_")){var d=u.split("_")[0];if(validate[d])if(Array.isArray(e[u])){var v=validate[d].apply(validate[d],e[u]);if(v)return v}else{var V=validate[d](e[u]);if(V)return V}}if(-1===u.indexOf("_")&&validate[u])if(Array.isArray(e[u])){var f=validate[u].apply(validate[u],e[u]);if(f)return f}else{var p=validate[u](e[u]);if(p)return p}}return!1}validate.VPhone=VPhone,validate.VName=VName,validate.VEmail=VEmail,validate.VSecurityCode=VSecurityCode,validate.VBarCode=VBarCode,validate.VVerificationCode=VVerificationCode,validate.VRequire=VRequire,validate.VLimit=VLimit,validate.VNumber=VNumber,validate.VChinese=VChinese,validate.VEnglish=VEnglish,validate.VEqual=VEqual,validate.VDangerousChar=VDangerousChar,validate.VIdCard=VIdCard,exports.VPhone=VPhone,exports.VName=VName,exports.VEmail=VEmail,exports.VIdCard=VIdCard,exports.VSecurityCode=VSecurityCode,exports.VBarCode=VBarCode,exports.VVerificationCode=VVerificationCode,exports.VRequire=VRequire,exports.default=validate;