关于input的检验问题

写了很多小应用 但是 对于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)  

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

 

posted @ 2018-11-30 16:38  明媚下雨天  阅读(447)  评论(0编辑  收藏  举报