1. 程式人生 > 實用技巧 >vue el-form常用的表單正則驗證【使用者名稱、密碼、身份證號、郵箱號,手機號,車牌號、ip地址等】

vue el-form常用的表單正則驗證【使用者名稱、密碼、身份證號、郵箱號,手機號,車牌號、ip地址等】

<script>
  export default {
    name: "form",
    data() {
 
        //ip地址校驗
          var IPValidator = (rule, value, callback) => {
          let ip_ip = '(25[0-5]|2[0-4]\\d|1\\d\\d|\\d\\d|\\d)';
          let ip_ipdot = ip_ip + '\\.';
          let isIPaddress = new RegExp('^' + ip_ipdot + ip_ipdot + ip_ipdot + ip_ip + '$');
          
if (value && !isIPaddress.test(value)) { callback(new Error('IP地址格式錯誤')); } else { callback(); } }; return { formRules: { name: [{required: true,message: '請輸入使用者名稱',trigger: 'blur'}, {min: 2,max: 7,message: '長度在 2 到 7 個字元'}, {pattern:
/^[\u4E00-\u9FA5]+$/, message: '使用者名稱只能為中文'} //{ pattern:/^[a-zA-Z]w{1,4}$/, message: '以字母開頭,長度在2-5之間, 只能包含字元、數字和下劃線'}], password: [{required: true,message: '請輸入密碼',trigger: 'blur'}, { min: 5,max: 25,message: '長度在 5 到 25個字元'}, {pattern: /^(\w){5,25}$/, message: '只能輸入5-25個字母、數字、下劃線'}], phone: [{ required:
true,message: '請輸入手機號碼',trigger: 'blur'}, {validator:function(rule,value,callback){ if(/^1[34578]\d{9}$/.test(value) == false){ callback(new Error("請輸入正確的手機號")); }else{ callback(); } }, trigger: 'blur'}], //pattern: /^1[34578]\d{9}$/, message: '目前只支援中國大陸的手機號碼' } peopleID: [{required: true,message: '請輸入身份證ID',trigger: 'blur'}, {pattern:/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/, message: '你的身份證格式不正確' }], carId: [{required: true, message: '請輸入車牌號', trigger: 'blur'}, {pattern:/(^[\u4E00-\u9FA5]{1}[A-Z0-9]{6}$)|(^[A-Z]{2}[A-Z0-9]{2}[A-Z0-9\u4E00-\u9FA5]{1}[A-Z0-9]{4}$)|(^[\u4E00-\u9FA5]{1}[A-Z0-9]{5}[掛學警軍港澳]{1}$)|(^[A-Z]{2}[0-9]{5}$)|(^(08|38){1}[A-Z0-9]{4}[A-Z0-9掛學警軍港澳]{1}$)/,message: '常規格式:晉B12345'},], }, email: [{required: true, message: '請輸入郵箱號', trigger: 'blur'}, {validator:function(rule,value,callback){ if (value === '') { callback(new Error('請正確填寫郵箱')); } else { if (value !== '') { var reg=/^[A-Za-z0-9\u4e00-\u9fa5]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/; if(!reg.test(value)){ callback(new Error('請輸入有效的郵箱')); } }else{ callback(); } }, trigger: 'blur'}], port:[ {required: true, message: "請輸入埠號", trigger: 'blur'}, {validator:validateNumber, trigger: 'blur'}, ], } } } } </script>