UNPKG

@2345mfe/octopus-validate

Version:

表单校验库

2 lines (1 loc) 6.91 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var OcStrategy={posiNum:/^[+]{0,1}(\d+)$|^[+]{0,1}(\d+\.\d+)$/,posiInt:/^[1-9]\d*$/,posiInt0:/^(0|[1-9][0-9]*)$/,numLen2:/^[0-9]{2}$/,numLen2or3:/^\d{1,3}$/,posiFloat2:/^([1-9][0-9]*)+(\.[0-9]{1,2})?$/,float1or2:/^(\-)?\d+(.\d{1,2})?$/,negativeInt:/^-[1-9]\d*$/,negative0:/^-[1-9]\d*|0$/,negativeInt0:/^(-[1-9]\d*|0)$/,negativeFloat:/^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$/,posiFloat:/^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$/,float:/^(-?\d+)(\.\d+)?$/,numEn:/^[A-Za-z0-9]+$/,en2to4:/^.{2,4}$/,En:/^[A-Za-z]+$/,EN:/^[A-Z]+$/,en:/^[a-z]+$/,cn:/^[\u4E00-\u9FA5A]+$/,numEn_:/^\w+$/,numEnCn_:/^[\u4E00-\u9FA5A-Za-z0-9_]+$/,numEnCn:/^[\u4E00-\u9FA5A-Za-z0-9]+$/,nameEn:/^([\u4E00-\uFA29]|[a-zA-Z])+$/,CN:/[\u4E00-\u9FA5]/,illegalCn:/,|^,|,$/,illegal:/[^%&',;=?$\x22]+/,hasSpace:/\s+/g,email:/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/,passport:/^1[45][0-9]{7}|G[0-9]{8}|P[0-9]{7}|S[0-9]{7,8}|D[0-9]+$/,mobile:/^1[34578]\d{9}$/,telephone:/0\d{2,3}-\d{5,9}|0\d{2,3}-\d{5,9}/,teleMobile:/^((0\d{2,3}-\d{5,9}|0\d{2,3}-\d{5,9})|(1[34578]\d{9}))$/,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{4})|\d{3}[Xx])$)$/,date:/^\d{4}(-|\/)\d{1,2}(-|\/)\d{1,2}$/,time:/^([01]?\d|2[0-3]):[0-5]?\d:[0-5]?\d$/,datetime:/^\d{4}(-|\/)\d{1,2}(-|\/)\d{1,2}\s([01]?\d|2[0-3]):[0-5]?\d:[0-5]?\d$/,month:/^(0?[1-9]|1[0-2])$/,day:/^((0?[1-9])|((1|2)[0-9])|30|31)$/,qq:/[1-9][0-9]{4,}/,postcode:/[1-9]\d{5}(?!\d)/,ip:/\d+\.\d+\.\d+\.\d+/,url:/^(?=^.{3,255}$)(http(s)?:\/\/)?(www\.)?[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+(:\d+)*(\/\w+\.\w+)*([\?&]\w+=\w*)*/,urlHttp:/^((ht|f)tps?):\/\/[\w\-]+(\.[\w\-]+)+([\w\-\.,@?^=%&:\/~\+#]*[\w\-\@?^=%&\/~\+#])?$/,licencePlate:/^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9挂学警港澳]{1}$/,bankCardNum:/^([1-9]{1})(\d{15}|\d{18})$/,condoReg:/^[ A-Za-z0-9.(){};%@_-]*$/,phoneReg:function(t){return"Singapore"===t?/(8|9)\d{7}/:/^[1][3,4,5,6,7,8,9][0-9]{9}$/},checkFloat:function(t){return new RegExp("^([1-9]+[d]*(.[0-9]{1,".concat(t,"})?)$"))},checkFloatLen:function(t){return new RegExp("^([1-9]+[d]*(.[0-9]{".concat(t,"})?)$"))},checkStrLenMax:function(t){return new RegExp("^.{".concat(t,"}$"))},checkStrLenMin:function(t){return new RegExp("^.{".concat(t,",}$"))},checkStrLength:function(t,e){return new RegExp("^.{".concat(t,",").concat(e,"}$"))},checkFileName:function(t){return t=t.map(function(t){return".".concat(t)}).join("|"),new RegExp("(".concat(t,")$"))},checkPassword:function(t,e){return new RegExp("(?=.*[0-9])(?=.*[a-zA-Z])(?=.*[^a-zA-Z0-9]).{".concat(t,",").concat(e,"}"))}},_toString=Object.prototype.toString;function _isRegExp(t){return"[object RegExp]"===_toString.call(t)}function _isString(t){return"[object String]"===_toString.call(t)}function _isArray(t){return"[object Array]"===_toString.call(t)}function _isBoolean(t){return"[object Boolean]"===_toString.call(t)}function _mandatoryArgs(t){throw new Error("function OcValidateValue ".concat(t," argument is required"))}function _handleAndCheckArgs(t,e,n){if(void 0===t&&(t=_mandatoryArgs("first")),void 0===e&&(e=_mandatoryArgs("second")),!_isString(t)&&!_isArray(t))throw new Error("function OcValidateValue type of first argument should be String or Array");if(!_isString(e)&&!_isArray(e))throw new Error("function OcValidateValue type of second argument should be String or Array");if(_isBoolean(n)||console.warn("function OcValidateValue type of third argument should be Boolean"),_isArray(t)&&_isArray(e)&&t.length!==e.length)throw new Error("The length of the array of argument first should be equal to the length of the array of argument second");return{valueArr:_isArray(t)?t:[t],strategyArr:_isArray(e)?e:[e],isReturnStr:!_isBoolean(n)||n}}function _validateSingleValue(n,t){var r={isValid:!0,message:[]};return t.forEach(function(t){var t={pattern:OcStrategy[t],message:""},e=t.pattern,t=t.message;if(!_isRegExp(e))throw new Error("".concat(e," is not a regular expression"));if(!_isString(t))throw new Error("".concat(t," is not a String"));e.test(n)||(r.isValid=!1)}),r}function OcValidateValue(t,e,n){var t=_handleAndCheckArgs(t,e,n=void 0===n?!0:n),r=t.valueArr,e=t.strategyArr,n=t.isReturnStr,a={isValid:!0,message:[]},o=1===r.length;return e.forEach(function(t,e){t=_isArray(t)?t:[t];var e=_validateSingleValue(o?r[0]:r[e],t),t=e.isValid,e=e.message;t||(a.isValid=!1,o?(t=a.message).push.apply(t,e):a.message.push(e))}),n&&(a.message=a.message.join(",")),a}var OcValidator={checkEqual:function(r,a){return function(t,e,n){!e||!r||e===r?n():n(new Error(a))}},checkStartTimeRange:function(r,a){return function(t,e,n){!e||!r||new Date(e).getTime()<new Date(r).getTime()?n():n(new Error(a))}},checkEndTimeRange:function(r,a){return function(t,e,n){!e||!r||new Date(e).getTime()>new Date(r).getTime()?n():n(new Error(a))}},checkNumLimit:function(r,a){var o=OcStrategy.posiInt;return function(t,e,n){!e||o.test(e)&&e<=r?n():n(new Error(a))}},checkNumRange:function(r,a,o){var i=OcStrategy.posiInt;return function(t,e,n){!e||i.test(e)&&r<=e&&e<=a?n():n(new Error(o))}},checkNumMax:function(r,a){var o=OcStrategy.posiInt;return function(t,e,n){!e||o.test(e)&&e<=r?n():n(new Error(a))}},nameCheck:function(r){return function(t,e,n){e&&OcStrategy.nameEn.test(e)&&e.length<=r?n():n(new Error("请输入".concat(r,"个以内的中英文字符")))}},nameCheckNo:function(r){return function(t,e,n){!e||OcStrategy.nameEn.test(e)&&e.length<=r?n():n(new Error("请输入".concat(r,"个以内的中英文字符或者不填")))}},numCheck:function(r){return function(t,e,n){OcStrategy.posiInt.test(e)&&e<=r?n():n(new Error("请输入".concat(r,"以内的整数")))}},num:function(t){return function(t,e,n){/^\d+(\.\d+)?$/.test(e)||!e?n():n(new Error("请输入数字"))}},isParseInt:function(t,e,n){var r=OcStrategy.posiInt;!e||r.test(e)?n():n(new Error("请输入整数"))},maxIsParseInt:function(t,e,n){OcStrategy.posiInt.test(e)?n():n(new Error("请输入整数"))},number:function(t,e,n){var r=OcStrategy.posiInt;!e||r.test(e)?n():n(new Error("请输入整数"))},timeLine:function(t,e,n){OcStrategy.posiInt.test(e)&&e<=600?n():n(new Error("请输入600以内的整数"))},descLimit:function(t,e,n){e&&200<e.length?n(new Error("请输入200个以内的字符")):n()},detailLimit:function(t,e,n){e?300<e.length?n(new Error("请输入300个以内的字符")):n():n(new Error("请输入任务描述,最大不超过300个字符"))},checkStr:function(t,e,n){var r=OcStrategy.illegalCn;e&&r.test(e)?n(new Error("输入的内容不能包含中文逗号")):n()}},index={OcStrategy:OcStrategy,OcValidate:OcValidateValue,OcValidator:OcValidator};exports.OcStrategy=OcStrategy,exports.OcValidate=OcValidateValue,exports.OcValidator=OcValidator,exports.default=index;