From f26f29d84e0a68831a6af14dab3eec5500496d2e Mon Sep 17 00:00:00 2001 From: spring <2396852758@qq.com> Date: 星期三, 28 五月 2025 16:48:52 +0800 Subject: [PATCH] 初始化项目 --- uview-ui/libs/function/test.js | 232 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 232 insertions(+), 0 deletions(-) diff --git a/uview-ui/libs/function/test.js b/uview-ui/libs/function/test.js new file mode 100644 index 0000000..fd25e18 --- /dev/null +++ b/uview-ui/libs/function/test.js @@ -0,0 +1,232 @@ +/** + * 楠岃瘉鐢靛瓙閭鏍煎紡 + */ +function email(value) { + return /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/.test(value); +} + +/** + * 楠岃瘉鎵嬫満鏍煎紡 + */ +function mobile(value) { + return /^1[3-9]\d{9}$/.test(value) +} + +/** + * 楠岃瘉URL鏍煎紡 + */ +function url(value) { + return /http(s)?:\/\/([\w-]+\.)+[\w-]+(\/[\w-.\/?%&=]*)?/.test(value) +} + +/** + * 楠岃瘉鏃ユ湡鏍煎紡 + */ +function date(value) { + return !/Invalid|NaN/.test(new Date(value).toString()) +} + +/** + * 楠岃瘉ISO绫诲瀷鐨勬棩鏈熸牸寮� + */ +function dateISO(value) { + return /^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/.test(value) +} + +/** + * 楠岃瘉鍗佽繘鍒舵暟瀛� + */ +function number(value) { + return /^(?:-?\d+|-?\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test(value) +} + +/** + * 楠岃瘉鏁存暟 + */ +function digits(value) { + return /^\d+$/.test(value) +} + +/** + * 楠岃瘉韬唤璇佸彿鐮� + */ +function idCard(value) { + return /^[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( + value) +} + +/** + * 鏄惁杞︾墝鍙� + */ +function carNo(value) { + // 鏂拌兘婧愯溅鐗� + const xreg = /^[浜触娌笣鍐�璞簯杈介粦婀樼殩椴佹柊鑻忔禉璧i剛妗傜敇鏅嬭挋闄曞悏闂借吹绮ら潚钘忓窛瀹佺惣浣块A-Z]{1}[A-Z]{1}(([0-9]{5}[DF]$)|([DF][A-HJ-NP-Z0-9][0-9]{4}$))/; + // 鏃ц溅鐗� + const creg = /^[浜触娌笣鍐�璞簯杈介粦婀樼殩椴佹柊鑻忔禉璧i剛妗傜敇鏅嬭挋闄曞悏闂借吹绮ら潚钘忓窛瀹佺惣浣块A-Z]{1}[A-Z]{1}[A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9鎸傚璀︽腐婢砞{1}$/; + if (value.length === 7) { + return creg.test(value); + } else if (value.length === 8) { + return xreg.test(value); + } else { + return false; + } +} + +/** + * 閲戦,鍙厑璁�2浣嶅皬鏁� + */ +function amount(value) { + //閲戦锛屽彧鍏佽淇濈暀涓や綅灏忔暟 + return /^[1-9]\d*(,\d{3})*(\.\d{1,2})?$|^0\.\d{1,2}$/.test(value); +} + +/** + * 涓枃 + */ +function chinese(value) { + let reg = /^[\u4e00-\u9fa5]+$/gi; + return reg.test(value); +} + +/** + * 鍙兘杈撳叆瀛楁瘝 + */ +function letter(value) { + return /^[a-zA-Z]*$/.test(value); +} + +/** + * 鍙兘鏄瓧姣嶆垨鑰呮暟瀛� + */ +function enOrNum(value) { + //鑻辨枃鎴栬�呮暟瀛� + let reg = /^[0-9a-zA-Z]*$/g; + return reg.test(value); +} + +/** + * 楠岃瘉鏄惁鍖呭惈鏌愪釜鍊� + */ +function contains(value, param) { + return value.indexOf(param) >= 0 +} + +/** + * 楠岃瘉涓�涓�艰寖鍥碵min, max] + */ +function range(value, param) { + return value >= param[0] && value <= param[1] +} + +/** + * 楠岃瘉涓�涓暱搴﹁寖鍥碵min, max] + */ +function rangeLength(value, param) { + return value.length >= param[0] && value.length <= param[1] +} + +/** + * 鏄惁鍥哄畾鐢佃瘽 + */ +function landline(value) { + let reg = /^\d{3,4}-\d{7,8}(-\d{3,4})?$/; + return reg.test(value); +} + +/** + * 鍒ゆ柇鏄惁涓虹┖ + */ +function empty(value) { + switch (typeof value) { + case 'undefined': + return true; + case 'string': + if (value.replace(/(^[ \t\n\r]*)|([ \t\n\r]*$)/g, '').length == 0) return true; + break; + case 'boolean': + if (!value) return true; + break; + case 'number': + if (0 === value || isNaN(value)) return true; + break; + case 'object': + if (null === value || value.length === 0) return true; + for (var i in value) { + return false; + } + return true; + } + return false; +} + +/** + * 鏄惁json瀛楃涓� + */ +function jsonString(value) { + if (typeof value == 'string') { + try { + var obj = JSON.parse(value); + if (typeof obj == 'object' && obj) { + return true; + } else { + return false; + } + } catch (e) { + return false; + } + } + return false; +} + + +/** + * 鏄惁鏁扮粍 + */ +function array(value) { + if (typeof Array.isArray === "function") { + return Array.isArray(value); + } else { + return Object.prototype.toString.call(value) === "[object Array]"; + } +} + +/** + * 鏄惁瀵硅薄 + */ +function object(value) { + return Object.prototype.toString.call(value) === '[object Object]'; +} + +/** + * 鏄惁鐭俊楠岃瘉鐮� + */ +function code(value, len = 6) { + return new RegExp(`^\\d{${len}}$`).test(value); +} + + +export default { + email, + mobile, + url, + date, + dateISO, + number, + digits, + idCard, + carNo, + amount, + chinese, + letter, + enOrNum, + contains, + range, + rangeLength, + empty, + isEmpty: empty, + jsonString, + landline, + object, + array, + code +} -- Gitblit v1.9.3