From 9860e221460a0a4ac1903dad2c97160d0eed0e63 Mon Sep 17 00:00:00 2001
From: long <515897141@qq.com>
Date: 星期五, 03 三月 2023 10:59:42 +0800
Subject: [PATCH] 初始化

---
 src/utils/jun_form_rules.js |  169 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 169 insertions(+), 0 deletions(-)

diff --git a/src/utils/jun_form_rules.js b/src/utils/jun_form_rules.js
new file mode 100644
index 0000000..8c32513
--- /dev/null
+++ b/src/utils/jun_form_rules.js
@@ -0,0 +1,169 @@
+/**
+ * elementUI 琛ㄥ崟楠岃瘉
+ */
+const validators = {
+	required: {
+	  rule: /.+/,
+	  msg: '蹇呭~椤逛笉鑳戒负绌�'
+	},
+	phone: {
+	  rule: /^[1][3,4,5,6,7,8][0-9]{9}$/,
+	  msg: '鎵嬫満鍙锋牸寮忎笉姝g‘'
+	},
+	mail: {
+	  rule: /^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.[a-zA-Z0-9]{2,6}$/,
+	  msg: 'E-mail鏍煎紡涓嶆纭�'
+	},
+	id_card: {
+	  rule: /(^\d{18}$)|(^\d{17}(\d|X|x)$)|(^\d{15}$)/,
+	  msg: '韬唤璇佹牸寮忎笉姝g‘'
+	},
+	password: {
+	  rule: /^\d{6}$/,
+	  msg: '瀵嗙爜蹇呴』涓�6浣嶆暟瀛�'
+	},
+	code: {
+	  rule: /^\d{4}$/,
+	  msg: '楠岃瘉鐮佹牸寮忎笉姝g‘'
+	},
+	number: {
+	  rule: /^\d+$/,
+	  msg: '蹇呴』涓烘暣鏁�'
+	},
+	digit: {
+	  rule: /^\d+(\.\d+)?$/,
+	  msg: '蹇呴』涓烘暟鍊�'
+	},
+	same: {
+	  rule (val='', sVal='') {
+		return val===this.data[sVal]
+	  },
+	  msg: '瀵嗙爜涓嶄竴鑷�'
+	},
+	// https://blog.csdn.net/xjun0812/article/details/81806118
+	carNo: {
+		// 鍚柊鑳芥簮杞�
+		rule: /^(([浜触娌笣鍐�璞簯杈介粦婀樼殩椴佹柊鑻忔禉璧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鎸傚璀︽腐婢充娇棰哴))$/,
+		msg: '杞︾墝鍙锋牸寮忎笉姝g‘'
+	},
+  }
+
+/**
+ * 楠岃瘉鎵嬫満鍙�
+ * @param {string} options.trigger 瑙﹀彂浜嬩欢
+ */
+function validatorTel(options = {}){
+	return [
+		{
+			validator: (rule, value, callback)=>{
+				if (!value) {
+					return callback(new Error('璇疯緭鍏ユ墜鏈哄彿鐮�'))
+				}
+				if (!validators.phone.rule.test(value)) {
+					return callback(new Error('璇疯緭鍏ユ纭牸寮忔墜鏈哄彿'))
+				}
+				callback()
+			},
+			trigger: options.trigger || 'blur'
+		}
+	]
+}
+
+/**
+ * 楠岃瘉鐢靛瓙閭
+ * @param {string} options.trigger 瑙﹀彂浜嬩欢
+ */
+function validatorEmail(options = {}){
+	return [
+		{
+			validator: (rule, value, callback) => {
+				if (!value) {
+					return callback(new Error('璇疯緭鍏ョ數瀛愰偖绠�'))
+				}
+				if (!validators.mail.rule.test(value)) {
+					return callback(new Error('璇疯緭鍏ユ纭牸寮忕數瀛愰偖绠�'))
+				}
+				callback()
+			},
+			trigger: options.trigger || 'blur'
+		}
+	]
+}
+
+/**
+ * 楠岃瘉闈炵┖
+ * @param {object} options 閫夐」
+ * @param {string} options.message 鎻愮ず
+ * @param {string} options.trigger 瑙﹀彂浜嬩欢
+ */
+function validatorRequired(options = {}){
+	return [{
+		validator: (rule, value, callback) => {
+			// =='' 鍙互鍏煎鏁扮粍涓虹┖鐨勬儏鍐�
+			if (value=='') {
+				return callback(new Error(options.message || validators.required.msg))
+			}
+			callback()
+		},
+		trigger: options.trigger || 'blur'
+	}]
+}
+
+/**
+ * 楠岃瘉瀵嗙爜
+ * @param {object} options 
+ * @param {string} options.message 鍙�夛紝鎻愮ず鏂囨湰
+ * @param {function} options.beforeCallback 鍙�夛紝鐢ㄤ簬妫�鏌ョ‘璁ゅ瘑鐮�
+ * @param {string} optionss.trigger 瑙﹀彂浜嬩欢
+ */
+function validatorPassword(options = {}){
+	return [{
+		validator: (rule, value, callback)=>{
+			if (!value) {
+				return callback(new Error(options.message || '璇疯緭鍏ュ瘑鐮�'))
+			}
+			// 棰勭暀锛岀敤浜庢鏌ョ‘璁ゅ瘑鐮�
+			typeof options.beforeCallback === 'function' && options.beforeCallback()
+			callback()
+		},
+		trigger: options.trigger || 'blur'
+	}]
+}
+
+/**
+ * 楠岃瘉纭瀵嗙爜
+ * @param {object} options 
+ * @param {function} options.password 蹇呴』锛岀敤浜庤幏鍙栧瘑鐮�
+ * @param {string} optionss.trigger 瑙﹀彂浜嬩欢
+ */
+function validatorConfirmPwd(options = {}){
+	return [{
+		validator: (rule, value, callback)=>{
+			// 鍔ㄦ�佽幏鍙栧瘑鐮�
+			var password
+			if (typeof options.password === 'function') {
+				password = options.password()
+			} else {
+				password = options.password
+			}
+
+			if (!value) {
+				callback(new Error('璇疯緭鍏ョ‘璁ゅ瘑鐮�'))
+			} else if (value !== password) {
+				callback (new Error('涓ゆ杈撳叆瀵嗙爜涓嶄竴鑷�!'))
+			} else{
+				callback()
+			}
+		},
+		trigger: options.trigger || 'blur'
+	}]
+}
+
+export default {
+	validators,
+	validatorTel,
+	validatorEmail,
+	validatorRequired,
+	validatorPassword,
+	validatorConfirmPwd,
+}
\ No newline at end of file

--
Gitblit v1.8.0