ipink-util
Version:
util.js
2 lines (1 loc) • 11.7 kB
JavaScript
;Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const date=require("./date.js"),env=require("./env.js"),index=require("../node_modules/.pnpm/@ctrl_tinycolor@4.1.0/node_modules/@ctrl/tinycolor/dist/module/index.js"),isString=e=>"[object String]"===Object.prototype.toString.call(e),isArray=e=>"[object Array]"===Object.prototype.toString.call(e),isObject=e=>"[object Object]"===Object.prototype.toString.call(e),isJson=e=>isArray(e)||isObject(e),isFunc=e=>"[object Function]"===Object.prototype.toString.call(e)||"function"==typeof e,isBoo=e=>"[object Boolean]"===Object.prototype.toString.call(e),isChar=e=>isString(e)&&1===e.length,isDom=e=>isObject(e)&&e.nodeType>0,isError=e=>"[object Error]"===Object.prototype.toString.call(e),isNaN=e=>Number.isNaN(e),isNull=(e,i=!1)=>!!i&&"null"===e||null===e,isNumber=e=>Number.isFinite(e),isUndefined=(e,i=!1)=>!!i&&"undefined"===e||void 0===e,isOdd=e=>isNumber(e)&&(e%2==1||e%2==-1),isRegexp=e=>"[object RegExp]"===Object.prototype.toString.call(e),isRegexpStr=str=>eval(str)instanceof RegExp,isInArray=(e,i=[])=>{if(!isArray(i))return!1;let r=!1;for(let s=0;s<i.length;s++)if(i[s]===e){r=!0;break}return r},isInObject=(e,i)=>isObject(i)&&Object.prototype.hasOwnProperty.call(i,e),isDate=e=>"[object Date]"===Object.prototype.toString.call(e),isFuture=e=>(isDate(e)||(e=date.i(e)),!!isDate(e)&&e.getTime()>(new Date).getTime()),isYear=(e,i)=>(isDate(e)||(e=date.i(e)),!!isDate(e)&&+i===e.getFullYear()),isMonth=(e,i)=>(isDate(e)||(e=date.i(e)),!!isDate(e)&&+i===e.getMonth()+1),isWeekend=e=>(isDate(e)||(e=date.i(e)),!!isDate(e)&&(6===e.getDay()||0===e.getDay())),isTomorrow=e=>{isDate(e)||(e=date.i(e));const i=new Date,r=new Date(i.setDate(i.getDate()+1));return isDate(e)&&e.toDateString()===r.toDateString()},isToday=e=>{isDate(e)||(e=date.i(e));const i=new Date;return isDate(e)&&e.toDateString()===i.toDateString()},isYesterday=e=>{isDate(e)||(e=date.i(e));const i=new Date,r=new Date(i.setDate(i.getDate()-1));return isDate(e)&&e.toDateString()===r.toDateString()},isExternal=e=>/^(http?:|https?:|mailto:|tel:)/.test(e),isEmpty=(e,i=!1)=>{let r=!1;return r=!!(null===e||"null"===e||void 0===e||"undefined"===e||"string"==typeof e&&""===e||"string"==typeof e&&i&&""===e.trim()),r},isEmptyObject=(e,i=!1)=>{let r=!1;return r=!!isEmpty(e,i)||(!(!Array.isArray(e)||e.length)||(!(!Array.isArray(e)||!e.length||e.filter((e=>!isEmpty(e,i))).length)||!Array.isArray(e)&&"object"==typeof e&&!Object.values(e).filter((e=>!isEmpty(e,i))).length)),r},isJsonString=e=>{if(!e)return!1;if("string"!=typeof e)return!1;try{return"object"==typeof JSON.parse(e)}catch(i){return!1}},isLowerCase=e=>isString(e)&&e===e.toLowerCase(),isUpperCase=e=>isString(e)&&e===e.toUpperCase(),isFistCharUpperCase=e=>{if(!isString(e))return!1;const i=e[0];return i===i.toUpperCase()},isDateString=e=>!isNaN(Date.parse(e)),isTimeString=e=>/^(2[0-3]|[01]?[0-9]):([0-5]?[0-9])(:([0-5]?[0-9]))?$/.test(e),isTel=(e,i=3)=>{let r=1==(i=1==i||2==i||3==i||4==i?i:3)?/^\d{7,8}$/:2==i?/^\d{7,8}-\d{1,6}$/:/^\d{7,8}(-\d{1,6})?$/,s=1==i?/^0\d{2,3}(-)?\d{7,8}$/:2==i?/^0\d{2,3}(-)?\d{7,8}-\d{1,6}$/:/^0\d{2,3}(-)?\d{7,8}(-\d{1,6})?$/;return 4==i?r.test(e)||s.test(e)||/^1[3,4,5,6,7,8,9]\d{9}$/.test(e):s.test(e)||r.test(e)},isZipCode=e=>/^[0-9]\d{5}$/.test(e),isPhoneNumber=e=>/^1[3,4,5,6,7,8,9]\d{9}$/.test(e),isEmail=e=>/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i.test(e),isIdCard=e=>{if(!(e=e.toString())||!/^\d{6}(18|19|20)?\d{2}(0[1-9]|1[012])(0[1-9]|[12]\d|3[01])\d{3}(\d|X)$/i.test(e))return!1;if(!{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:"国外"}[e.substr(0,2)])return!1;if(18==e.length){let i=e.substr(6,4)+"-"+Number(e.substr(10,2))+"-"+Number(e.substr(12,2)),r=new Date(i.replace(/-/g,"/"));if(i!=r.getFullYear()+"-"+(r.getMonth()+1)+"-"+r.getDate())return!1}if(18==e.length){const i=e.split("");let r=[7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2],s=[1,0,"X",9,8,7,6,5,4,3,2],t=0,n=0,o=0,u=0;for(;u<17;u++)n=+i[u],o=r[u],t+=n*o;if(s[t%11]!=i[17].toUpperCase())return!1}return!0},isJuLiuCardV1=e=>{if(!e||!isString(e))return console.error("为获取到正确的居留证件码!"),!1;if(15!==e.length)return!1;const i={t:10,o:11,u:12,p:13,E:14,F:15,l:16,D:17,A:18,m:19,j:20,C:21,O:22,h:23,v:24,I:25,Q:26,S:27,N:28,$:29,M:30,W:31,J:32,L:33,P:34,T:35};let r=[7,3,1];const s=e.split("");let t=s[s.length-1],n=0;s.forEach(((e,s)=>{if(s>13)return;n+=(i[e]||e)*r[s%3]}));return""+n%10==""+t},isJuLiuCardV2=e=>{if(!e||!isString(e))return console.error("为获取到正确的居留证件码!"),!1;if(18!==e.length)return!1;if(!e.startsWith("9"))return!1;let i=[7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2];const r=e.split("");let s=r[17].toUpperCase(),t=0;r.forEach(((e,r)=>{r>16||(t+=Number(e)*i[r])}));return[1,0,"X",9,8,7,6,5,4,3,2][t%11]==s},isJuLiuCard=e=>isJuLiuCardV1(e)||isJuLiuCardV2(e),isIp=e=>/^(?:(?:\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])\.){3}(?:\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])$/.test(e),isIpv6=e=>/^((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\3)::|:\b|$))|(?!\2\3)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i.test(e),isUrl=e=>/^(?:(?:https?|ftp):\/\/)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,})))(?::\d{2,5})?(?:\/\S*)?$/i.test(e),isWindowObject=e=>null!=e&&"object"==typeof e&&"setInterval"in e,freeSelf=isWindowObject("object"==typeof self&&self)&&self,navigator=freeSelf&&freeSelf.navigator,platform=(navigator&&navigator.platform||"").toLowerCase(),userAgent=(navigator&&navigator.userAgent||"").toLowerCase(),vendor=(navigator&&navigator.vendor||"").toLowerCase(),isOpera=()=>null!==userAgent.match(/(?:^opera.+?version|opr)\/(\d+)/),isOperaMini=()=>null!==userAgent.match(/opera mini\/(\d+)/),isChrome=()=>null!==(/google inc/.test(vendor)?userAgent.match(/(?:chrome|crios)\/(\d+)/):null),isFirefox=()=>null!==userAgent.match(/(?:firefox|fxios)\/(\d+)/),isEdge=()=>null!==userAgent.match(/edge\/(\d+)/),isIe=()=>null!==userAgent.match(/(?:msie |trident.+?; rv:)(\d+)/),isSafari=()=>null!==userAgent.match(/version\/(\d+).+?safari/),isIpad=()=>null!==userAgent.match(/ipad.+?os (\d+)/),isIphone=()=>null!==(isIpad()?null:userAgent.match(/iphone(?:.+?os (\d+))?/)),isIpod=()=>null!==userAgent.match(/ipod.+?os (\d+)/),isIos=()=>{if(userAgent)return isIpad()||isIphone()||isIpod();try{const e=uni&&uni.getSystemInfoSync&&uni.getSystemInfoSync();if(!e)return!1;if(e.platform)return e.platform.toLowerCase().indexOf("ios")>-1;if(e.k)return e.k.toLowerCase().indexOf("ios")>-1;if(e.system)return e.system.toLowerCase().indexOf("ios")>-1}catch(e){}return!1},isAndroid=()=>{if(userAgent)return userAgent.indexOf("Android")>-1||userAgent.indexOf("Adr")>-1;try{const e=uni&&uni.getSystemInfoSync&&uni.getSystemInfoSync();if(!e)return!1;if(e.platform)return e.platform.toLowerCase().indexOf("android")>-1;if(e.k)return e.k.toLowerCase().indexOf("android")>-1;if(e.system)return e.system.toLowerCase().indexOf("android")>-1}catch(e){}return!1},isMini=()=>{if(navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().indexOf("Mini")>-1)return!0;try{const e="undefined"!=typeof uni?uni.getSystemInfoSync():wx.getSystemInfoSync();if(e&&e.U&&e.U.startsWith("mp"))return!0}catch(e){}return!1},isWxMini=()=>{if("undefined"!=typeof window)return env.B()==env._.R;try{const e=wx.getSystemInfoSync();return e?.host?.V?"wechat"==(e.host.V||"").toLowerCase():"mp-weixin"==(e?.U||e?.platform).toLowerCase()}catch(e){}return!1},isWindows=()=>/win/.test(platform),isMac=()=>/mac/.test(platform),isLinux=()=>/linux/.test(platform)&&!isAndroid(),isAndroidH5=()=>/android/.test(userAgent),isWindowsPhone=()=>isWindows()&&/phone/.test(userAgent),isAndroidPhone=()=>/android/.test(userAgent)&&/mobile/.test(userAgent),isBlackberry=()=>/blackberry/.test(userAgent)||/bb10/.test(userAgent),isAndroidTablet=()=>/android/.test(userAgent)&&!/mobile/.test(userAgent),isMobile=()=>isIphone()||isIpod()||isAndroidPhone()||isBlackberry()||isWindowsPhone(),isPhoneSize=()=>window.matchMedia?window.matchMedia("(max-width:500px)").matches:window.innerWidth<=500,isOnline=()=>!navigator||!0===navigator.onLine,isOffline=!isOnline(),isDarkColor=e=>{const i=new index.Y(e),{r:r,g:s,b:t,X:n}=i||{};return!!n&&.299*r+.587*s+.114*t>186};exports.isAndroid=isAndroid,exports.isAndroidH5=isAndroidH5,exports.isAndroidPhone=isAndroidPhone,exports.isAndroidTablet=isAndroidTablet,exports.isArray=isArray,exports.isBlackberry=isBlackberry,exports.isBoo=isBoo,exports.isChar=isChar,exports.isChrome=isChrome,exports.isDarkColor=isDarkColor,exports.isDate=isDate,exports.isDateString=isDateString,exports.isDom=isDom,exports.isEdge=isEdge,exports.isEmail=isEmail,exports.isEmpty=isEmpty,exports.isEmptyObject=isEmptyObject,exports.isError=isError,exports.isExternal=isExternal,exports.isFirefox=isFirefox,exports.isFistCharUpperCase=isFistCharUpperCase,exports.isFunc=isFunc,exports.isFuture=isFuture,exports.isIdCard=isIdCard,exports.isIe=isIe,exports.isInArray=isInArray,exports.isInObject=isInObject,exports.isIos=isIos,exports.isIp=isIp,exports.isIpad=isIpad,exports.isIphone=isIphone,exports.isIpod=isIpod,exports.isIpv6=isIpv6,exports.isJson=isJson,exports.isJsonString=isJsonString,exports.isJuLiuCard=isJuLiuCard,exports.isLinux=isLinux,exports.isLowerCase=isLowerCase,exports.isMac=isMac,exports.isMini=isMini,exports.isMobile=isMobile,exports.isMonth=isMonth,exports.isNaN=isNaN,exports.isNull=isNull,exports.isNumber=isNumber,exports.isObject=isObject,exports.isOdd=isOdd,exports.isOffline=isOffline,exports.isOnline=isOnline,exports.isOpera=isOpera,exports.isOperaMini=isOperaMini,exports.isPhoneNumber=isPhoneNumber,exports.isPhoneSize=isPhoneSize,exports.isRegexp=isRegexp,exports.isRegexpStr=isRegexpStr,exports.isSafari=isSafari,exports.isString=isString,exports.isTel=isTel,exports.isTimeString=isTimeString,exports.isToday=isToday,exports.isTomorrow=isTomorrow,exports.isUndefined=isUndefined,exports.isUpperCase=isUpperCase,exports.isUrl=isUrl,exports.isWeekend=isWeekend,exports.isWindowObject=isWindowObject,exports.isWindows=isWindows,exports.isWindowsPhone=isWindowsPhone,exports.isWxMini=isWxMini,exports.isYear=isYear,exports.isYesterday=isYesterday,exports.isZipCode=isZipCode;