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