項目elementUI表單驗證,需要統一驗證下共有的,就加了個rulejs做個記錄,有需要的小伙伴考可以參考下
直接貼代碼吧,標紅的部分就是相應的正則
// 長度 function checkValNumLengths (rule, value, callback) { if(value){ if(value.length>rule.length){ callback(new Error('最多'+rule.length+'個字')) }else{ callback() } }else{ callback() } } // 0~180間,6位小數 經度 function checkMapXNum10 (rule, value, callback) { var reg =/^(\+)?(((\d|[1-9]\d|1[0-7]\d|0{1,3})\.\d{0,6})|(\d|[1-9]\d|1[0-7]\d|0{1,3})|0\.0{0,6}|180)$/ if(value){ if(value.length>rule.length){ callback(new Error('0~180間的數字,最多6位小數')) }else{ if(!reg.test(value)){ callback(new Error('0~180間的數字,最多6位小數')) }else{ callback() } } }else if(value !== 0){ callback() }else{ callback(new Error('0~180間的數字,最多6位小數')) } } // 0~90間,6位小數 緯度 function checkMapYNum10 (rule, value, callback) { var reg =/^(\+)?([0-8]?\d{1}\.\d{0,6}|0\.0{0,6}|[0-8]?\d{1}|90)$/ if(value){ if(value.length>rule.length){ callback(new Error('0~90間的數字,最多6位小數')) }else{ if(!reg.test(value)){ callback(new Error('0~90間的數字,最多6位小數')) }else{ callback() } } }else if(value !== 0){ callback() }else{ callback(new Error('0~90間的數字,最多6位小數')) } } // 0~999999999間,2位小數 function checkValDecimalNum9S9 (rule, value, callback) { var reg =/^([1-9]\d{0,8})([.]\d{1,2})?$|^0[.]([1-9]\d{0,1}|[0-9][1-9])$/ if(value){ if(value.length>rule.length){ callback(new Error('0~999999999間的數字,最多2位小數')) }else{ if(value>999999999 || !reg.test(value)){ callback(new Error('0~999999999間的數字,最多2位小數')) }else{ callback() } } }else{ callback() } } // 0~999999999間,整數 function checkValIntegerNum9S9 (rule, value, callback) { var reg =/^([1-9]\d{0,8})?$|^0$/ if(value){ if(!reg.test(value)){ callback(new Error('請輸入0~999999999間的整數數字')) }else{ callback() } }else{ console.log(value) callback() } } // 0~100、2位小數 function checkValDecimalNum100 (rule, value, callback) { var reg =/^(100)$|^((\d|[1-9]\d)(\.\d{1,2})?)$/ if(value){ if(value.length>rule.length){ callback(new Error('請輸入0~100間的數字,最多2位小數')) }else{ if(!reg.test(value)){ callback(new Error('請輸入0~100間的數字,最多2位小數')) }else{ callback() } } }else{ callback() } }// 正整數字 function validatorNum (rule, value, callback){ var verificationRule =/^([1-9]\d*|[0]{1,1})$/; if(value){ if(rule.length&&value.length>rule.length){ callback(new Error('最長'+rule.length+'位數字')) }else if(verificationRule.test(value)){ callback() }else if(!verificationRule.test(value)){ callback(new Error('輸入格式錯誤')) } }else{ callback() } } // 整數字(包含負整數) function validatorIntegralNum (rule, value, callback){ var verificationRule =/^(0|[1-9][0-9]*|-[1-9][0-9]*)$/; if(value){ if(rule.length&&value.length>rule.length){ callback(new Error('最長'+rule.length+'位數字')) }else if(verificationRule.test(value)){ callback() }else if(!verificationRule.test(value)){ callback(new Error('輸入格式錯誤')) } }else{ callback() } }
