写了很多小应用 但是 对于input有很多 相同的需求 在这里做一个总结 将用的多的校验方法 封装为方法 使用

1.只能输入正整数的校验 输入的时候同时校验 将字符类型的全部替换为空

<input type="text" class="form-control input-sm" id="buyLimit" min="0" placeholder="至少为0" required value="0" onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')">

2.只输入正整数的校验

 isPlusNum:function (txt) {
if(txt.trim().length){
if(!isNaN(txt)){
//0的情况另外讨论
if(Number(txt)===0){
return true
}
//正整数
if(/^[1-9]+[0-9]*]*$/.test(txt)){
return true
}
}
return false
}
return false
},

3.最多两位小数的校验 通过判断小数点的位置 来判断 是否最多两位小数

 //最多两位小数的校验
maxTwoLittleNum:function (vlue) {
var str = vlue.indexOf(".");
var numlength = 0;
if (str > -1) {
index = vlue.substring(str + 1, vlue.length);
numlength = index.length;
if(numlength>2){
return false
}else {
return true
}
}else {
return true
} }

4.金额的校验

  //金额的校验
moneyFn:function (obj) {
var txt=obj.value
if(txt.trim().length){
if(!isNaN(txt)){
//0的情况另外讨论
if(Number(txt)==0){
return true
}
if(Number(txt)<0){ layer.msg('金额只能为正数') ;$(obj).val('')
return false
}
//小数点校验
if(goodCreate.maxTwoLittleNum(txt)){
return true
}else{
$(obj).val('')
layer.msg('金额只能输入两位小数')
return false
}
}
$(obj).val('')
layer.msg('请输入正确金额')
return false
}
$(obj).val('')
layer.msg('请输入金额')
return false
},

5.视频类型的校验   不是最全

/(mp4|avi|WMV|RM|RMVB|MPEG1|MPEG2|MPEG4|3GP|ASF|SWF|VOB|DAT|MOV|M4V|FLV|F4V|MKV|MTS|TS)$/.test(txt)

6.电话号码  手机号+3到4位区号-6-8位电话号+400开头的电话号

(/^1[3,4,5,6,7,8,9]\d{9}$/).test(reservationTel) || (/^[0-9]{3,4}\-[0-9]{6,8}$/).test(reservationTel) || (/^400-([0-9]){1}([0-9-]{7})$/).test(reservationTel)  

  以上 以后有用到 再继续总结

 

05-04 04:44