rulejs正则验证记录
项目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() } }