From beadbecb4ec7aaf960b8e46f5c02836bf6c9e976 Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期一, 08 四月 2024 16:14:27 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
Source/ProjectWeb/src/util/validate.js | 546 +++++++++++++++++++++++++++++++----------------------
1 files changed, 318 insertions(+), 228 deletions(-)
diff --git a/Source/ProjectWeb/src/util/validate.js b/Source/ProjectWeb/src/util/validate.js
index a774710..80e2d65 100644
--- a/Source/ProjectWeb/src/util/validate.js
+++ b/Source/ProjectWeb/src/util/validate.js
@@ -1,253 +1,343 @@
/**
- * Created by jiachenpan on 16/11/18.
+ * 楠岃瘉鐧惧垎姣旓紙涓嶅彲浠ュ皬鏁帮級
+ * @param val 褰撳墠鍊煎瓧绗︿覆
+ * @returns 杩斿洖澶勭悊鍚庣殑瀛楃涓�
*/
-
-export function isvalidUsername(str) {
- const valid_map = ['admin', 'editor']
- return valid_map.indexOf(str.trim()) >= 0
-}
-
-/* 鍚堟硶uri*/
-export function validateURL(textval) {
- const urlregex = /^(https?|ftp):\/\/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}|([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:[0-9]+)*(\/($|[a-zA-Z0-9.,?'\\+&%$#=~_-]+))*$/
- return urlregex.test(textval)
-}
+export const verifyNumberPercentage = (val) => {
+ const patternSpace = /(^\s*)|(\s*$)/g;
+ const patternNum = /[^\d]/g;
+ // 鍖归厤绌烘牸
+ let v = val.replace(patternSpace, "");
+ // 鍙兘鏄暟瀛楀拰灏忔暟鐐癸紝涓嶈兘鏄叾浠栬緭鍏�
+ v = v.replace(patternNum, "");
+ // 涓嶈兘浠�0寮�濮�
+ v = v.replace(/^0/g, "");
+ // 鏁板瓧瓒呰繃100锛岃祴鍊兼垚鏈�澶у��100
+ v = v.replace(/^[1-9]\d\d{1,3}$/, "100");
+ // 杩斿洖缁撴灉
+ return v;
+};
/**
- * 閭
- * @param {*} s
+ * 楠岃瘉鐧惧垎姣旓紙鍙互灏忔暟锛�
+ * @param val 褰撳墠鍊煎瓧绗︿覆
+ * @returns 杩斿洖澶勭悊鍚庣殑瀛楃涓�
*/
-export function isEmail(s) {
- return /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((.[a-zA-Z0-9_-]{2,3}){1,2})$/.test(s)
-}
-
+export const verifyNumberPercentageFloat = (val) => {
+ let v = verifyNumberIntegerAndFloat(val);
+ // 鏁板瓧瓒呰繃100锛岃祴鍊兼垚鏈�澶у��100
+ v = v.replace(/^[1-9]\d\d{1,3}$/, "100");
+ // 瓒呰繃100涔嬪悗涓嶇粰鍐嶈緭鍏ュ��
+ v = v.replace(/^100\.$/, "100");
+ // 杩斿洖缁撴灉
+ return v;
+};
/**
- * 鎵嬫満鍙风爜
- * @param {*} s
+ * 灏忔暟鎴栨暣鏁�(涓嶅彲浠ヨ礋鏁�)
+ * @param val 褰撳墠鍊煎瓧绗︿覆
+ * @returns 杩斿洖澶勭悊鍚庣殑瀛楃涓�
*/
-export function isMobile(s) {
- return /^1[0-9]{10}$/.test(s)
-}
+export const verifyNumberIntegerAndFloat = (val) => {
+ // 鍖归厤绌烘牸
+ let v = val.replace(/(^\s*)|(\s*$)/g, "");
+ // 鍙兘鏄暟瀛楀拰灏忔暟鐐癸紝涓嶈兘鏄叾浠栬緭鍏�
+ v = v.replace(/[^\d.]/g, "");
+ // 浠�0寮�濮嬪彧鑳借緭鍏ヤ竴涓�
+ v = v.replace(/^0{2}$/g, "0");
+ // 淇濊瘉绗竴浣嶅彧鑳芥槸鏁板瓧锛屼笉鑳芥槸鐐�
+ v = v.replace(/^\./g, "");
+ // 灏忔暟鍙兘鍑虹幇1浣�
+ v = v.replace(".", "$#$").replace(/\./g, "").replace("$#$", ".");
+ // 灏忔暟鐐瑰悗闈繚鐣�2浣�
+ v = v.replace(/^(\\-)*(\d+)\.(\d\d).*$/, "$1$2.$3");
+ // 杩斿洖缁撴灉
+ return v;
+};
+// 姝f暣鏁伴獙璇�
+export const verifiyNumberInteger = (val) => {
+ const pattern = /(^\s*)|(\s*$)/g;
+ // 鍖归厤绌烘牸
+ let v = val.replace(pattern, "");
+ // 鍘绘帀 '.' , 闃叉璐磋创鐨勬椂鍊欏嚭鐜伴棶棰� 濡� 0.1.12.12
+ v = v.replace(/[\\.]*/g, "");
+ // 鍘绘帀浠� 0 寮�濮嬪悗闈㈢殑鏁�, 闃叉璐磋创鐨勬椂鍊欏嚭鐜伴棶棰� 濡� 00121323
+ v = v.replace(/(^0[\d]*)$/g, "0");
+ // 棣栦綅鏄�0,鍙兘鍑虹幇涓�娆�
+ v = v.replace(/^0\d$/g, "0");
+ // 鍙尮閰嶆暟瀛�
+ v = v.replace(/[^\d]/g, "");
+ // 杩斿洖缁撴灉
+ return v;
+};
+// 鍘绘帀涓枃鍙婄┖鏍�
+export const verifyCnAndSpace = (val) => {
+ const pattern = /[\u4e00-\u9fa5\s]+/g;
+ // 鍖归厤涓枃涓庣┖鏍�
+ let v = val.replace(pattern, "");
+ // 鍖归厤绌烘牸
+ v = v.replace(/(^\s*)|(\s*$)/g, "");
+ // 杩斿洖缁撴灉
+ return v;
+};
+// 鍘绘帀鑻辨枃鍙婄┖鏍�
+export const verifyEnAndSpace = (val) => {
+ const pattern = /[a-zA-Z]+/g;
+ const patternSpace = /(^\s*)|(\s*$)/g;
+ // 鍖归厤鑻辨枃涓庣┖鏍�
+ let v = val.replace(pattern, "");
+ // 鍖归厤绌烘牸
+ v = v.replace(patternSpace, "");
+ // 杩斿洖缁撴灉
+ return v;
+};
+// 绂佹杈撳叆绌烘牸
+export const verifyAndSpace = (val) => {
+ const pattern = /(^\s*)|(\s*$)/g;
+ // 鍖归厤绌烘牸
+ let v = val.replace(pattern, "");
+ // 杩斿洖缁撴灉
+ return v;
+};
+// 閲戦鐢� `,` 鍖哄垎寮�
+export const verifyNumberComma = (val) => {
+ const pattern = /\B(?=(\d{3})+(?!\d))/g;
+ // 璋冪敤灏忔暟鎴栨暣鏁�(涓嶅彲浠ヨ礋鏁�)鏂规硶
+ let v = verifyNumberIntegerAndFloat(val);
+ // 瀛楃涓茶浆鎴愭暟缁�
+ v = v.toString().split(".");
+ // \B 鍖归厤闈炲崟璇嶈竟鐣岋紝涓よ竟閮芥槸鍗曡瘝瀛楃鎴栬�呬袱杈归兘鏄潪鍗曡瘝瀛楃
+ v[0] = v[0].replace(pattern, ",");
+ // 鏁扮粍杞瓧绗︿覆
+ v = v.join(".");
+ // 杩斿洖缁撴灉
+ return v;
+};
+// 鍖归厤鏂囧瓧鍙樿壊锛堟悳绱㈡椂锛�
+export const verifyTextColor = (val, text = "", color = "red") => {
+ // 杩斿洖鍐呭锛屾坊鍔犻鑹�
+ let v = text.replace(
+ new RegExp(val, "gi"),
+ `<span style='color: ${color}'>${val}</span>`
+ );
+ // 杩斿洖缁撴灉
+ return v;
+};
+// 鏁板瓧杞腑鏂囧ぇ鍐�
+export const verifyNumberCnUppercase = (
+ val,
+ unit = "浠熶桨鎷句嚎浠熶桨鎷句竾浠熶桨鎷惧厓瑙掑垎",
+ v = ""
+) => {
+ // 褰撳墠鍐呭瀛楃涓叉坊鍔� 2涓�0锛屼负浠�涔�??
+ val += "00";
+ // 杩斿洖鏌愪釜鎸囧畾鐨勫瓧绗︿覆鍊煎湪瀛楃涓蹭腑棣栨鍑虹幇鐨勪綅缃紝娌℃湁鍑虹幇锛屽垯璇ユ柟娉曡繑鍥� -1
+ let lookup = val.indexOf(".");
+ // substring锛氫笉鍖呭惈缁撴潫涓嬫爣鍐呭锛宻ubstr锛氬寘鍚粨鏉熶笅鏍囧唴瀹�
+ if (lookup >= 0)
+ val = val.substring(0, lookup) + val.substring(lookup + 1, 2);
+ // 鏍规嵁鍐呭 val 鐨勯暱搴︼紝鎴彇杩斿洖瀵瑰簲澶у啓
+ unit = unit.substring(unit.length - val.length);
+ // 寰幆鎴彇鎷兼帴澶у啓
+ for (let i = 0; i < val.length; i++) {
+ v +=
+ "闆跺9璐板弫鑲嗕紞闄嗘煉鎹岀帠".substring(val.substring(i, 1), 1) +
+ unit.substring(i, 1);
+ }
+ // 姝e垯澶勭悊
+ v = v
+ .replace(/闆惰闆跺垎$/, "鏁�")
+ .replace(/闆禰浠熶桨鎷綸/g, "闆�")
+ .replace(/闆秢2,}/g, "闆�")
+ .replace(/闆�([浜縷涓嘳)/g, "$1")
+ .replace(/闆�+鍏�/, "鍏�")
+ .replace(/浜块浂{0,3}涓�/, "浜�")
+ .replace(/^鍏�/, "闆跺厓");
+ // 杩斿洖缁撴灉
+ return v;
+};
+// 鎵嬫満鍙风爜
+export const verifyPhone = (val) => {
+ const petter =
+ /^((12[0-9])|(13[0-9])|(14[5|7])|(15([0-3]|[5-9]))|(18[0,5-9]))\d{8}$/;
+ // false: 鎵嬫満鍙风爜涓嶆纭�
+ if (!petter.test(val)) return false;
+ // true: 鎵嬫満鍙风爜姝g‘
+ else return true;
+};
-/**
- * 鐢佃瘽鍙风爜
- * @param {*} s
- */
-export function isPhone(s) {
- return /^([0-9]{3,4}-)?[0-9]{7,8}$/.test(s)
-}
+// 鍥藉唴鐢佃瘽鍙风爜
+export const verifyTelPhone = (val) => {
+ const petter = /\d{3}-\d{8}|\d{4}-\d{7}/;
+ // false: 鍥藉唴鐢佃瘽鍙风爜涓嶆纭�
+ if (!petter.test(val)) return false;
+ // true: 鍥藉唴鐢佃瘽鍙风爜姝g‘
+ else return true;
+};
/**
* URL鍦板潃
* @param {*} s
*/
export function isURL(s) {
- return /^http[s]?:\/\/.*/.test(s)
+ return /^http[s]?:\/\/.*/.test(s)
}
-/* 灏忓啓瀛楁瘝*/
-export function validateLowerCase(str) {
- const reg = /^[a-z]+$/
- return reg.test(str)
-}
+// 鐧诲綍璐﹀彿 (瀛楁瘝寮�澶达紝鍏佽5-16瀛楄妭锛屽厑璁稿瓧姣嶆暟瀛椾笅鍒掔嚎)
+export const verifyAccount = (val) => {
+ const petter = /^[a-zA-Z][a-zA-Z0-9_]{4,15}$/;
+ // false: 鐧诲綍璐﹀彿涓嶆纭�
+ if (!petter.test(val)) return false;
+ // true: 鐧诲綍璐﹀彿姝g‘
+ else return true;
+};
-/* 澶у啓瀛楁瘝*/
-export function validateUpperCase(str) {
- const reg = /^[A-Z]+$/
- return reg.test(str)
-}
+// 瀵嗙爜 (浠ュ瓧姣嶅紑澶达紝闀垮害鍦�6~16涔嬮棿锛屽彧鑳藉寘鍚瓧姣嶃�佹暟瀛楀拰涓嬪垝绾�)
+export const verifyPassword = (val) => {
+ const petter = /^[a-zA-Z]\w{5,15}$/;
+ // false: 瀵嗙爜涓嶆纭�
+ if (!petter.test(val)) return false;
+ // true: 瀵嗙爜姝g‘
+ else return true;
+};
-/* 澶у皬鍐欏瓧姣�*/
-export function validatAlphabets(str) {
- const reg = /^[A-Za-z]+$/
- return reg.test(str)
-}
-/*楠岃瘉pad杩樻槸pc*/
-export const vaildatePc = function() {
- const userAgentInfo = navigator.userAgent;
- const Agents = ["Android", "iPhone",
- "SymbianOS", "Windows Phone",
- "iPad", "iPod"
- ];
- let flag = true;
- for (var v = 0; v < Agents.length; v++) {
- if (userAgentInfo.indexOf(Agents[v]) > 0) {
- flag = false;
- break;
- }
- }
- return flag;
- }
- /**
- * validate email
- * @param email
- * @returns {boolean}
- */
-export function validateEmail(email) {
- const re = /^(([^<>()\\[\]\\.,;:\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,}))$/
- return re.test(email)
-}
+// 寮哄瘑鐮� (瀛楁瘝+鏁板瓧+鐗规畩瀛楃锛岄暱搴﹀湪6-16涔嬮棿)
+export const verifyPasswordPowerful = (val) => {
+ const petter =
+ /^(?![a-zA-z]+$)(?!\d+$)(?![!@#$%^&\\.*]+$)(?![a-zA-z\d]+$)(?![a-zA-z!@#$%^&\\.*]+$)(?![\d!@#$%^&\\.*]+$)[a-zA-Z\d!@#$%^&\\.*]{6,16}$/;
+ // false: 寮哄瘑鐮佷笉姝g‘
+ if (!petter.test(val)) return false;
+ // true: 寮哄瘑鐮佹纭�
+ else return true;
+};
-/**
- * 鍒ゆ柇韬唤璇佸彿鐮�
- */
-export function cardid(code) {
- let list = [];
- let result = true;
- let msg = '';
- var city = {
- 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: "鍥藉 "
- };
- if (!validatenull(code)) {
- if (code.length == 18) {
- if (!code || !/(^\d{18}$)|(^\d{17}(\d|X|x)$)/.test(code)) {
- msg = "璇佷欢鍙风爜鏍煎紡閿欒";
- } else if (!city[code.substr(0, 2)]) {
- msg = "鍦板潃缂栫爜閿欒";
- } else {
- //18浣嶈韩浠借瘉闇�瑕侀獙璇佹渶鍚庝竴浣嶆牎楠屼綅
- code = code.split('');
- //鈭�(ai脳Wi)(mod 11)
- //鍔犳潈鍥犲瓙
- var factor = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2];
- //鏍¢獙浣�
- var parity = [1, 0, 'X', 9, 8, 7, 6, 5, 4, 3, 2, 'x'];
- var sum = 0;
- var ai = 0;
- var wi = 0;
- for (var i = 0; i < 17; i++) {
- ai = code[i];
- wi = factor[i];
- sum += ai * wi;
- }
- if (parity[sum % 11] != code[17]) {
- msg = "璇佷欢鍙风爜鏍¢獙浣嶉敊璇�";
- } else {
- result = false;
- }
+// 瀵嗙爜寮哄害
+export const verifyPasswordStrength = (val) => {
+ const weak = /^(?:\d+|[a-zA-Z]+|[!@#$%^&\\.*]+){6,16}$/;
+ const centre =
+ /^(?![a-zA-z]+$)(?!\d+$)(?![!@#$%^&\\.*]+$)[a-zA-Z\d!@#$%^&\\.*]{6,16}$/;
+ const strong =
+ /^(?![a-zA-z]+$)(?!\d+$)(?![!@#$%^&\\.*]+$)(?![a-zA-z\d]+$)(?![a-zA-z!@#$%^&\\.*]+$)(?![\d!@#$%^&\\.*]+$)[a-zA-Z\d!@#$%^&\\.*]{6,16}$/;
+ let v = "";
+ // 寮憋細绾暟瀛楋紝绾瓧姣嶏紝绾壒娈婂瓧绗�
+ if (weak.test(val)) v = "寮�";
+ // 涓細瀛楁瘝+鏁板瓧锛屽瓧姣�+鐗规畩瀛楃锛屾暟瀛�+鐗规畩瀛楃
+ if (centre.test(val)) v = "涓�";
+ // 寮猴細瀛楁瘝+鏁板瓧+鐗规畩瀛楃
+ if (strong.test(val)) v = "寮�";
+ // 杩斿洖缁撴灉
+ return v;
+};
- }
- } else {
- msg = "璇佷欢鍙风爜闀垮害涓嶄负18浣�";
- }
+// IP鍦板潃
+export const verifyIPAddress = (val) => {
+ const petter =
+ /^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/;
+ // false: IP鍦板潃涓嶆纭�
+ if (!petter.test(val)) return false;
+ // true: IP鍦板潃姝g‘
+ else return true;
+};
- } else {
- msg = "璇佷欢鍙风爜涓嶈兘涓虹┖";
- }
- list.push(result);
- list.push(msg);
- return list;
-}
-/**
- * 鍒ゆ柇鎵嬫満鍙风爜鏄惁姝g‘
- */
-export function isvalidatemobile(phone) {
- let list = [];
- let result = true;
- let msg = '';
- var isPhone = /^0\d{2,3}-?\d{7,8}$/;
- //澧炲姞134 鍑忓皯|1349[0-9]{7}锛屽鍔�181,澧炲姞145锛屽鍔�17[678]
- if (!validatenull(phone)) {
- if (phone.length == 11) {
- if (isPhone.test(phone)) {
- msg = '鎵嬫満鍙风爜鏍煎紡涓嶆纭�';
- } else {
- result = false;
- }
- } else {
- msg = '鎵嬫満鍙风爜闀垮害涓嶄负11浣�';
- }
- } else {
- msg = '鎵嬫満鍙风爜涓嶈兘涓虹┖';
- }
- list.push(result);
- list.push(msg);
- return list;
-}
-/**
- * 鍒ゆ柇濮撳悕鏄惁姝g‘
- */
-export function validatename(name) {
- var regName = /^[\u4e00-\u9fa5]{2,4}$/;
- if (!regName.test(name)) return false;
- return true;
-}
-/**
- * 鍒ゆ柇鏄惁涓烘暣鏁�
- */
-export function validatenum(num, type) {
- let regName = /[^\d.]/g;
- if (type == 1) {
- if (!regName.test(num)) return false;
- } else if (type == 2) {
- regName = /[^\d]/g;
- if (!regName.test(num)) return false;
- }
- return true;
-}
-/**
- * 鍒ゆ柇鏄惁涓哄皬鏁�
- */
-export function validatenumord(num, type) {
- let regName = /[^\d.]/g;
- if (type == 1) {
- if (!regName.test(num)) return false;
- } else if (type == 2) {
- regName = /[^\d.]/g;
- if (!regName.test(num)) return false;
- }
- return true;
-}
+// 閭
+export const verifyEmail = (val) => {
+ const petter =
+ /^(([^<>()\\[\]\\.,;:\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,}))$/;
+ // false: 閭涓嶆纭�
+ if (!petter.test(val)) return false;
+ // true: 閭姝g‘
+ else return true;
+};
+
+// 韬唤璇�
+export const verifyIdCard = (val) => {
+ const petter =
+ /^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/;
+ // false: 韬唤璇佷笉姝g‘
+ if (!petter.test(val)) return false;
+ // true: 韬唤璇佹纭�
+ else return true;
+};
+
+// 濮撳悕
+export const verifyFullName = (val) => {
+ const petter = /^[\u4e00-\u9fa5]{1,6}(路[\u4e00-\u9fa5]{1,6}){0,2}$/;
+ // false: 濮撳悕涓嶆纭�
+ if (!petter.test(val)) return false;
+ // true: 濮撳悕姝g‘
+ else return true;
+};
+
+// 閭斂缂栫爜
+export const verifyPostalCode = (val) => {
+ const petter = /^[1-9][0-9]{5}$/;
+ // false: 閭斂缂栫爜涓嶆纭�
+ if (!petter.test(val)) return false;
+ // true: 閭斂缂栫爜姝g‘
+ else return true;
+};
+
+// url
+export const verifyUrl = (val) => {
+ const petter =
+ /^(?:(?:(?:https?|ftp):)?\/\/)(?:\S+(?::\S*)?@)?(?:(?!(?: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;
+ // false: url涓嶆纭�
+ if (!petter.test(val)) return false;
+ // true: url姝g‘
+ else return true;
+};
+
+// 杞︾墝鍙�
+export const verifyCarNum = (val) => {
+ const petter =
+ /^(([浜触娌笣鍐�璞簯杈介粦婀樼殩椴佹柊鑻忔禉璧i剛妗傜敇鏅嬭挋闄曞悏闂借吹绮ら潚钘忓窛瀹佺惣浣块][A-Z](([0-9]{5}[DF])|([DF]([A-HJ-NP-Z0-9])[0-9]{4})))|([浜触娌笣鍐�璞簯杈介粦婀樼殩椴佹柊鑻忔禉璧i剛妗傜敇鏅嬭挋闄曞悏闂借吹绮ら潚钘忓窛瀹佺惣浣块][A-Z][A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9鎸傚璀︽腐婢充娇棰哴))$/;
+ // false: 杞︾墝鍙蜂笉姝g‘
+ if (!petter.test(val)) return false;
+ // true锛氳溅鐗屽彿姝g‘
+ else return true;
+};
+// 鏂滄潬
+export const verifySlash = (val) => {
+ const regex = /\//g;
+ if (!regex.test(val)) return false;
+ else return true;
+};
+// 瀛楃涓诧紝鏁扮粍锛屽璞¢潪绌�
+export const verifyNotNull = (val) => {
+ if (val === null || val === undefined || val ==="") {
+ return false;
+ }
+ if (typeof val === "string") {
+ return val.trim().length !== 0;
+ }
+ if (Array.isArray(val)) {
+ return val.length !== 0;
+ }
+ if (typeof val === "object" && val !== null) {
+ return Object.keys(val).length !== 0;
+ }
+ return true;
+};
+
+export const verifyNull = (val) => {
+ return !verifyNotNull(val);
+};
/**
* 鍒ゆ柇鏄惁涓虹┖
+ * 鍙互鍒ゆ柇鏁扮粍鍜屽璞� 濡傚垽鏂�"null"銆�"undefined"涔熶細杩斿洖鏄┖
*/
export function validatenull(val) {
- if (typeof val == 'boolean') {
- return false;
- }
- if (typeof val == 'number') {
- return false;
- }
- if (val instanceof Array) {
- if (val.length == 0) return true;
- } else if (val instanceof Object) {
- if (JSON.stringify(val) === '{}') return true;
- } else {
- if (val == 'null' || val == null || val == 'undefined' || val == undefined || val == '') return true;
- return false;
- }
+ if (typeof val == 'boolean') {
return false;
-}
\ No newline at end of file
+ }
+ if (typeof val == 'number') {
+ return false;
+ }
+ if (val instanceof Array) {
+ if (val.length == 0) return true;
+ } else if (val instanceof Object) {
+ if (JSON.stringify(val) === '{}') return true;
+ } else {
+ if (val == 'null' || val == null || val == 'undefined' || val == undefined || val == '') return true;
+ return false;
+ }
+ return false;
+}
--
Gitblit v1.9.3