Vue中常用rules校验规则是什么
这篇文章主要介绍了Vue中常用rules校验规则是什么,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
vue是什么
Vue是一套用于构建用户界面的渐进式JavaScript框架,Vue与其它大型框架的区别是,使用Vue可以自底向上逐层应用,其核心库只关注视图层,方便与第三方库和项目整合,且使用Vue可以采用单文件组件和Vue生态系统支持的库开发复杂的单页应用。
在 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校验规则是什么”这篇文章对大家有帮助,同时也希望大家多多支持恰卡编程网,关注恰卡编程网行业资讯频道,更多相关知识等着你来学习!
推荐阅读
-
Vue组件的自定义事件和全局事件总线怎么使用
-
vue中消息订阅与发布如何使用
vue中消息订阅与发布如何使用这篇文章主要介绍“vue中消息订阅与...
-
Vue显示图片的方式有哪些
-
vue引入静态jquery报错如何解决
vue引入静态jquery报错如何解决这篇文章主要介绍“vue引入...
-
vue-cropper怎么实现裁剪图片
-
怎么用Vue+NodeJS实现大文件上传
-
Vue如何实现简易跑马灯效果
-
Vue怎么指定不编译的文件夹和favicon.ico
Vue怎么指定不编译的文件夹和favicon.ico这篇文章主要介...
-
Vue中的插槽怎么使用
-
Vue WebPack怎么忽略指定文件或目录