mm-utils
Version:
mm-utils,JavaScript工具包,日常开发工作常用的公共函数库
2 lines (1 loc) • 11.8 kB
JavaScript
;Object.defineProperty(exports,"__esModule",{value:!0});var Cookies=require("js-cookie");function _interopDefaultLegacy(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var Cookies__default=_interopDefaultLegacy(Cookies);function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function deepClone(t){if(!t&&"object"!==_typeof(t))throw new Error("error arguments","deepClone");var r=t.constructor===Array?[]:{};return Object.keys(t).forEach(function(e){t[e]&&"object"===_typeof(t[e])?r[e]=deepClone(t[e]):r[e]=t[e]}),r}function uniqArray(e){var t={};return e.filter(function(e){return t[e.id]?"":t[e.id]=!0})}function getObjectValue(e,t){if(isObject(e)){for(var r=e,n=(t+"").split(".");n.length;){if(!isObject(r))return;r=r[n.splice(0,1)]}return r}}function objectFilter(e,t){var r,n={};for(r in e)t.includes(r)&&(n[r]=e[r]);return n}function isEmpty(e){return!e&&0!==e&&""!==e||(!(!Array.prototype.isPrototypeOf(e)||0!==e.length)||!(!Object.prototype.isPrototypeOf(e)||0!==Object.keys(e).length))}function isObject(e){return null!==e&&"object"===_typeof(e)}function isArray(e){return void 0===Array.isArray?"[object Array]"===Object.prototype.toString.call(e):Array.isArray(e)}function isUndefined(e){return void 0===e}function parseJson(e){if(JSON.stringify(e),!e||""===e)return{};try{return JSON.parse(e)}catch(e){return{}}}function getErrorMessage(e){if(e){var t=e.external;return t&&(t.msg||t.message)||e.msg||e.message||e.errorMsg||e.returnMsg||e.errorMessage||"系统繁忙,请稍后再试"}}function delayCall(e,t){var r=setTimeout(function(){return"function"!=typeof e?"函数错误":(e(),void clearTimeout(r))},t)}function fen2yuan(e){if(e&&""!==e&&/^[+-]?[1-9]?[0-9]*\.[0-9]*$/.test(e)){for(var t,r="",n=(e/100).toFixed(2).split("."),o=n[0].length-1,i=0,a=n[0].split(""),s=n[0].length-1;0<=s;s--)r=(t=a[s])+r,"0"!=t&&(o=s),3==++i&&(r=","+r,i=0);if(r=-1==o?"0":3<(e=n[0].length-o)?r.substring(r.length-(e%3==0?e/3-1:e/3)-e):r.substring(r.length-e),2==n.length){r+=".";for(var u=2-n[1].length,f=0;f<u;f++)n[1]+="0";r+=n[1].substring(0,2)}else r+=".00";return r}return"格式错误"}function groupPhone(e){return/^0?1[3|4|5|6|7|8][0-9]\d{8}$/.test(e)?e.replace(/(?=(\d{4})+$)/g," "):"请输入正确的手机号码"}function formatCarNumber(e){e=e.toUpperCase();return/^(([京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-Z](([0-9]{5}[DF])|([DF]([A-HJ-NP-Z0-9])[0-9]{4})))|([京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-Z][A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳使领]))$/.test(e)?e.slice(0,2)+"."+e.slice(2):"车牌号错误"}function getUuid(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:24,r=(new Date).getTime(),t="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){var t=(r+16*Math.random())%16|0;return r=Math.floor(r/16),("x"==e?t:3&t|8).toString(16)});return t.slice(0,e)}var common={deepClone:deepClone,uniqArray:uniqArray,getObjectValue:getObjectValue,objectFilter:objectFilter,isEmpty:isEmpty,isObject:isObject,isArray:isArray,isUndefined:isUndefined,parseJson:parseJson,getErrorMessage:getErrorMessage,delayCall:delayCall,fen2yuan:fen2yuan,groupPhone:groupPhone,formatCarNumber:formatCarNumber,getUuid:getUuid};function query2Object(e){e=decodeURIComponent(e.split("?")[1]).replace(/\+/g," ");if(!e)return{};var n={};return e.split("&").forEach(function(e){var t,r=e.indexOf("=");-1!==r&&(t=e.substring(0,r),e=e.substring(r+1,e.length),n[t]=e)}),n}function object2Qquery(e){if(Object.prototype.isPrototypeOf(e)&&0===Object.keys(e).length)return"对象不能为空";var t,r=[];for(t in e)r.push(t),r.push("=".concat(e[t],"&"));r.unshift("?");var n=r.join("");return n.slice(0,n.length-1)}function parseUrl(e){e=e||location.href;var i=document.createElement("a");i.href=e;var t=i.protocol.replace(":","");if(""!=i.port)return i.port;var r="https"==t?443:"http"==t?80:i.port,r={source:e,protocol:t,host:i.hostname,port:r,query:i.search,params:function(){for(var e,t={},r=i.search.replace(/^\?/,"").split("&"),n=r.length,o=0;o<n;o++)r[o]&&(t[(e=r[o].split("="))[0]]=e[1]);return t}(),file:(i.pathname.match(/\/([^\/?#]+)$/i)||[,""])[1],hash:i.hash.replace("#",""),path:i.pathname.replace(/^([^\/])/,"/$1"),relative:(i.href.match(/tps?:\/\/[^\/]+(.+)/)||[,""])[1],segments:i.pathname.replace(/^\//,"").split("/")};return r.hostFull="".concat(r.protocol,"://").concat(r.host),r.port&&(r.hostFull+=":".concat(r.port)),r}function isIphone(){return!!(0<arguments.length&&void 0!==arguments[0]?arguments[0]:navigator.userAgent).match(/\(i[^;]+;( U;)? CPU.+Mac OS X/)}function isAndroid(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:navigator.userAgent;return-1<e.indexOf("Android")||-1<e.indexOf("Linux")}function isWechat(){return-1<(0<arguments.length&&void 0!==arguments[0]?arguments[0]:navigator.userAgent).toLowerCase().indexOf("micromessenger")}function isIE(){return-1<(0<arguments.length&&void 0!==arguments[0]?arguments[0]:navigator.userAgent).indexOf("Trident")}function isFirefox(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:navigator.userAgent;return-1<e.indexOf("Gecko")&&-1<e.indexOf("KHTML")}function isOpera(){return-1<(0<arguments.length&&void 0!==arguments[0]?arguments[0]:navigator.userAgent).indexOf("AppleWebKit")}function isChrome(){return-1<(0<arguments.length&&void 0!==arguments[0]?arguments[0]:navigator.userAgent).indexOf("AppleWebKit")}function isSafari(){return-1<(0<arguments.length&&void 0!==arguments[0]?arguments[0]:navigator.userAgent).indexOf("AppleWebKit")}function hasUserAgent(e){}var browser={query2Object:query2Object,object2Qquery:object2Qquery,parseUrl:parseUrl,isIphone:isIphone,isAndroid:isAndroid,isWechat:isWechat,isIE:isIE,isFirefox:isFirefox,isOpera:isOpera,isChrome:isChrome,isSafari:isSafari,hasUserAgent:hasUserAgent},dayjs=require("dayjs");function formatTime(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:"YYYY-MM-DD";return dayjs(e).format(t)}function getTime(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:"";return""!=e?dayjs().format(e):dayjs()}var datetime={formatTime:formatTime,getTime:getTime};function hasEmoji(e){if("string"!=typeof e||""===e)return"格式错误";return/[\uD83C|\uD83D|\uD83E][\uDC00-\uDFFF][\u200D|\uFE0F]|[\uD83C|\uD83D|\uD83E][\uDC00-\uDFFF]|[0-9|*|#]\uFE0F\u20E3|[0-9|#]\u20E3|[\u203C-\u3299]\uFE0F\u200D|[\u203C-\u3299]\uFE0F|[\u2122-\u2B55]|\u303D|[\A9|\AE]\u3030|\uA9|\uAE|\u3030/gi.test(e)}function hasSpecialChar(e){if("string"!=typeof e||""===e)return"格式错误";return/[`~!@#$%^&*()_\-+=<>?:"{}|,.\/;'\\[\]·~!@#¥%……&*()——\-+={}|《》?:“”【】、;‘’,。、]/im.test(e)}function hasChineseChar(e){if("string"!=typeof e||""===e)return"格式错误";return/[\u4e00-\u9fa5]+/g.test(e)}function hasNumber(e){if("string"!=typeof e||""===e)return"格式错误";return/\d/g.test(e)}function hasLetter(e){if("string"!=typeof e||""===e)return"格式错误";return/[a-zA-Z]/g.test(e)}function isDecimal(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:-1;if(/^[+-]?[1-9]?[0-9]*\.[0-9]*$/.test(e)){if(-1===t)return!0;var r=(e=e.toString()).lastIndexOf(".");return(e=e.substring(r+1,e.length)).length==t}return"格式错误"}function isUrl(e){if("string"!=typeof e||""===e)return"格式错误";return/(((^https?:(?:\/\/)?)(?:[-;:&=\+\$,\w]+@)?[A-Za-z0-9.-]+(?::\d+)?|(?:www.|[-;:&=\+\$,\w]+@)[A-Za-z0-9.-]+)((?:\/[\+~%\/.\w-_]*)?\??(?:[-\+=&;%@.\w_]*)#?(?:[\w]*))?)$/.test(e)}function isEmail(e){if("string"!=typeof e||""===e)return"格式错误";return/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(e)}function isIdcard(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:0;return 0==t||""==t?/^[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)$/.test(e):1==t?/^((\s?[A-Za-z])|([A-Za-z]{2}))\d{6}(\([0−9aA]\)|[0-9aA])$/.test(e):2==t?/^[1|5|7][0-9]{6}\([0-9Aa]\)/.test(e):3==t?/^[a-zA-Z][0-9]{9}$/.test(e):"格式错误"}function isChineseChar(e){if("string"!=typeof e||""===e)return"格式错误";return/^[\u4e00-\u9fa5]+$/i.test(e)}function isNumber(e){if(""===e)return"格式错误";return/^[+-]?[1-9]?[0-9]*\.[0-9]*$/.test(e)}function isIP(e){if("string"!=typeof e||""===e)return"格式错误";return/^((25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))\.){3}(25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))$/i.test(e)}function isLetter(e){if("string"!=typeof e||""===e)return"格式错误";return/[a-zA-Z]+/.test(e)}function isPhone(e){if(""===e)return"格式错误";if(0==(1<arguments.length&&void 0!==arguments[1]?arguments[1]:0))return/^0?1[3|4|5|6|7|8][0-9]\d{8}$/.test(e);return/^([0-9]{3,4}-)?[0-9]{7,8}$/.test(e)}function isPostcode(e){if(""===e)return"格式错误";return/^[0-9]{6}$/.test(e)}var regular={hasEmoji:hasEmoji,hasSpecialChar:hasSpecialChar,hasChineseChar:hasChineseChar,hasNumber:hasNumber,hasLetter:hasLetter,isDecimal:isDecimal,isUrl:isUrl,isEmail:isEmail,isIdcard:isIdcard,isChineseChar:isChineseChar,isNumber:isNumber,isIP:isIP,isLetter:isLetter,isPhone:isPhone,isPostcode:isPostcode};function awaitWrap(e){return e.then(function(e){return[e,null]}).catch(function(e){return[null,e]})}var request={awaitWrap:awaitWrap};function setStorage(e,t){var r=2<arguments.length&&void 0!==arguments[2]?arguments[2]:31536e8,r=JSON.stringify({val:t,expire:Date.now()+r});window.localStorage.setItem(e,r)}function getStorage(e){var t=window.localStorage.getItem(e);return t?(t=JSON.parse(t)).expire-Date.now()<0?(window.localStorage.removeItem(e),"数据已过期"):t.val:null}function removeStorage(e){if(!window.localStorage.getItem(e))return null;window.localStorage.removeItem(e)}function clearStorage(){return window.localStorage.clear(),"数据已清空"}function setSession(e,t){var r=2<arguments.length&&void 0!==arguments[2]?arguments[2]:31536e8,r=JSON.stringify({val:t,expire:Date.now()+r});window.sessionStorage.setItem(e,r)}function getSession(e){var t=window.sessionStorage.getItem(e);return t?(t=JSON.parse(t)).expire-Date.now()<0?(window.sessionStorage.removeItem(e),"数据已过期"):t.val:null}function removeSession(e){if(!window.sessionStorage.getItem(e))return null;window.sessionStorage.removeItem(e)}function clearSession(){return window.sessionStorage.clear(),"数据已清空"}function setCookie(e,t){var r=2<arguments.length&&void 0!==arguments[2]?arguments[2]:31536e8,r=JSON.stringify({val:t,expire:Date.now()+r});Cookies__default.default.set(e,r)}function getCookie(e){var t=Cookies__default.default.get(e);return t?(t=JSON.parse(t)).expire-Date.now()<0?(Cookies__default.default.remove(e),"数据已过期"):t.val:null}function removeCookie(e){if(!Cookies__default.default.get(e))return null;Cookies__default.default.remove(e)}function clearCookie(){return Cookies__default.default.get(" "," ",-1),"数据已清空"}var storage={setStorage:setStorage,getStorage:getStorage,removeStorage:removeStorage,clearStorage:clearStorage,setSession:setSession,getSession:getSession,removeSession:removeSession,clearSession:clearSession,setCookie:setCookie,getCookie:getCookie,removeCookie:removeCookie,clearCookie:clearCookie};function validator(e,t,r){for(var n=!0,o=0;o<e.length;o++)if(e[o].func(t)){n=!1,r(e[o].errMsg);break}n&&r()}var validator$1={validator:validator};exports.browser=browser,exports.common=common,exports.datetime=datetime,exports.regular=regular,exports.request=request,exports.storage=storage,exports.validator=validator$1;