Vue中常用rules校验规则(实例代码)
在vue开发中,难免遇到各种表单校验,这里整理了网络上和自己平时高频率用到的一些校验方法。如果错误欢迎指出,后期不断补充更新。
1、是否合法IP地址
exportfunctionvalidateIP(rule,value,callback){ if(value==''||value==undefined||value==null){ callback(); }else{ constreg=/^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/; if((!reg.test(value))&&value!=''){ callback(newError('请输入正确的IP地址')); }else{ callback(); } } }
2、是否手机号码或者固话
exportfunctionvalidatePhoneTwo(rule,value,callback){ constreg=/^((0\d{2,3}-\d{7,8})|(1[34578]\d{9}))$/;; if(value==''||value==undefined||value==null){ callback(); }else{ if((!reg.test(value))&&value!=''){ callback(newError('请输入正确的电话号码或者固话号码')); }else{ callback(); } } }
3、是否固话
exportfunctionvalidateTelphone(rule,value,callback){ constreg=/0\d{2,3}-\d{7,8}/; if(value==''||value==undefined||value==null){ callback(); }else{ if((!reg.test(value))&&value!=''){ callback(newError('请输入正确的固定电话)')); }else{ callback(); } } }
4、是否手机号码
exportfunctionvalidatePhone(rule,value,callback){ constreg=/^[1][3-9][0-9]{9}$/; if(value==''||value==undefined||value==null){ callback(); }else{ if((!reg.test(value))&&value!=''){ callback(newError('请输入正确的电话号码')); }else{ callback(); } } }
5、是否身份证号码
exportfunctionvalidateIdNo(rule,value,callback){ constreg=/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/; if(value==''||value==undefined||value==null){ callback(); }else{ if((!reg.test(value))&&value!=''){ callback(newError('请输入正确的身份证号码')); }else{ callback(); } } }
6、是否邮箱
exportfunctionvalidateEMail(rule,value,callback){ constreg=/^([a-zA-Z0-9]+[-_\.]?)+@[a-zA-Z0-9]+\.[a-z]+$/; if(value==''||value==undefined||value==null){ callback(); }else{ if(!reg.test(value)){ callback(newError('请输入正确的邮箱')); }else{ callback(); } } }
7、合法url
exportfunctionvalidateURL(url){ consturlregex=/^(https?|ftp):\/\/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}|([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:[0-9]+)*(\/($|[a-zA-Z0-9.,?'\\+&%$#=~_-]+))*$/; returnurlregex.test(url); }
8、验证内容是否包含英文数字以及下划线
exportfunctionisPassword(rule,value,callback){ constreg=/^[_a-zA-Z0-9]+$/; if(value==''||value==undefined||value==null){ callback(); }else{ if(!reg.test(value)){ callback(newError('仅由英文字母,数字以及下划线组成')); }else{ callback(); } } }
9、自动检验数值的范围
exportfunctioncheckMax20000(rule,value,callback){ if(value==''||value==undefined||value==null){ callback(); }elseif(!Number(value)){ callback(newError('请输入[1,20000]之间的数字')); }elseif(value<1||value>20000){ callback(newError('请输入[1,20000]之间的数字')); }else{ callback(); } }
10、验证数字输入框最大数值
exportfunctioncheckMaxVal(rule,value,callback){ if(value<0||value>最大值){ callback(newError('请输入[0,最大值]之间的数字')); }else{ callback(); } }
11、验证是否1-99之间
exportfunctionisOneToNinetyNine(rule,value,callback){ if(!value){ returncallback(newError('输入不可以为空')); } setTimeout(()=>{ if(!Number(value)){ callback(newError('请输入正整数')); }else{ constre=/^[1-9][0-9]{0,1}$/; constrsCheck=re.test(value); if(!rsCheck){ callback(newError('请输入正整数,值为【1,99】')); }else{ callback(); } } },0); }
12、验证是否整数
exportfunctionisInteger(rule,value,callback){ if(!value){ returncallback(newError('输入不可以为空')); } setTimeout(()=>{ if(!Number(value)){ callback(newError('请输入正整数')); }else{ constre=/^[0-9]*[1-9][0-9]*$/; constrsCheck=re.test(value); if(!rsCheck){ callback(newError('请输入正整数')); }else{ callback(); } } },0); }
13、验证是否整数,非必填
exportfunctionisIntegerNotMust(rule,value,callback){ if(!value){ callback(); } setTimeout(()=>{ if(!Number(value)){ callback(newError('请输入正整数')); }else{ constre=/^[0-9]*[1-9][0-9]*$/; constrsCheck=re.test(value); if(!rsCheck){ callback(newError('请输入正整数')); }else{ callback(); } } },1000); }
14、验证是否是[0-1]的小数
exportfunctionisDecimal(rule,value,callback){ if(!value){ returncallback(newError('输入不可以为空')); } setTimeout(()=>{ if(!Number(value)){ callback(newError('请输入[0,1]之间的数字')); }else{ if(value<0||value>1){ callback(newError('请输入[0,1]之间的数字')); }else{ callback(); } } },100); }
15、验证是否是[1-10]的小数,即不可以等于0
exportfunctionisBtnOneToTen(rule,value,callback){ if(typeofvalue=='undefined'){ returncallback(newError('输入不可以为空')); } setTimeout(()=>{ if(!Number(value)){ callback(newError('请输入正整数,值为[1,10]')); }else{ if(!(value=='1'||value=='2'||value=='3'||value=='4'||value=='5'||value=='6'||value=='7'||value=='8'||value=='9'||value=='10')){ callback(newError('请输入正整数,值为[1,10]')); }else{ callback(); } } },100); }
16、验证是否是[1-100]的小数,即不可以等于0
exportfunctionisBtnOneToHundred(rule,value,callback){ if(!value){ returncallback(newError('输入不可以为空')); } setTimeout(()=>{ if(!Number(value)){ callback(newError('请输入整数,值为[1,100]')); }else{ if(value<1||value>100){ callback(newError('请输入整数,值为[1,100]')); }else{ callback(); } } },100); }
17、验证是否是[0-100]的小数
exportfunctionisBtnZeroToHundred(rule,value,callback){ if(!value){ returncallback(newError('输入不可以为空')); } setTimeout(()=>{ if(!Number(value)){ callback(newError('请输入[1,100]之间的数字')); }else{ if(value<0||value>100){ callback(newError('请输入[1,100]之间的数字')); }else{ callback(); } } },100); }
18、验证端口是否在[0,65535]之间
exportfunctionisPort(rule,value,callback){ if(!value){ returncallback(newError('输入不可以为空')); } setTimeout(()=>{ if(value==''||typeof(value)==undefined){ callback(newError('请输入端口值')); }else{ constre=/^([0-9]|[1-9]\d|[1-9]\d{2}|[1-9]\d{3}|[1-5]\d{4}|6[0-4]\d{3}|65[0-4]\d{2}|655[0-2]\d|6553[0-5])$/; constrsCheck=re.test(value); if(!rsCheck){ callback(newError('请输入在[0-65535]之间的端口值')); }else{ callback(); } } },100); }
19、验证端口是否在[0,65535]之间,非必填,isMust表示是否必填
exportfunctionisCheckPort(rule,value,callback){ if(!value){ callback(); } setTimeout(()=>{ if(value==''||typeof(value)==undefined){ //callback(newError('请输入端口值')); }else{ constre=/^([0-9]|[1-9]\d|[1-9]\d{2}|[1-9]\d{3}|[1-5]\d{4}|6[0-4]\d{3}|65[0-4]\d{2}|655[0-2]\d|6553[0-5])$/; constrsCheck=re.test(value); if(!rsCheck){ callback(newError('请输入在[0-65535]之间的端口值')); }else{ callback(); } } },100); }
20、小写字母
exportfunctionvalidateLowerCase(val){ constreg=/^[a-z]+$/; returnreg.test(val); }
22、两位小数验证
constvalidateValidity=(rule,value,callback)=>{ if(!/(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/.test(value)){ callback(newError('最多两位小数!!!')); }else{ callback(); } };
23、是否大写字母
exportfunctionvalidateUpperCase(val){ constreg=/^[A-Z]+$/; returnreg.test(val); }
24、是否大小写字母
exportfunctionvalidatAlphabets(val){ constreg=/^[A-Za-z]+$/; returnreg.test(val); }
25、密码校验
exportconstvalidatePsdReg=(rule,value,callback)=>{ if(!value){ returncallback(newError('请输入密码')) } if(!/^(?![\d]+$)(?![a-zA-Z]+$)(?![^\da-zA-Z]+$)([^\u4e00-\u9fa5\s]){6,20}$/.test(value)){ callback(newError('请输入6-20位英文字母、数字或者符号(除空格),且字母、数字和标点符号至少包含两种')) }else{ callback() } }
26、中文校验
exportconstvalidateContacts=(rule,value,callback)=>{ if(!value){ returncallback(newError('请输入中文')) } if(!/^[\u0391-\uFFE5A-Za-z]+$/.test(value)){ callback(newError('不可输入特殊字符')) }else{ callback() } }
27、身份证校验
exportconstID=(rule,value,callback)=>{ if(!value){ returncallback(newError('身份证不能为空')) } if(!/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/.test(value)){ callback(newError('请输入正确的二代身份证号码')) }else{ callback() } }
28、账号校验
exportconstvalidateCode=(rule,value,callback)=>{ if(!value){ returncallback(newError('请输入账号')) } if(!/^(?![0-9]*$)(?![a-zA-Z]*$)[a-zA-Z0-9]{6,20}$/.test(value)){ callback(newError('账号必须为6-20位字母和数字组合')) }else{ callback() } }
29、纯数字校验
exportconstvalidateNumber=(rule,value,callback)=>{ letnumberReg=/^\d+$|^\d+[.]?\d+$/ if(value!==''){ if(!numberReg.test(value)){ callback(newError('请输入数字')) }else{ callback() } }else{ callback(newError('请输入值')) } }
30、最多一位小数
constonePoint=(rule,value,callback)=>{ if(!/^[0-9]+([.]{1}[0-9]{1})?$/.test(value)){ callback(newError('最多一位小数!!!')); }else{ callback(); } };
总结
以上所述是小编给大家介绍的Vue中常用rules校验规则,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。