文本框数据验证

对于文本框数据,小数点、整数位数等的验证,整理~

function amount(inputText,nm,mm){//输入时函数
       var thisVal=inputText.value;
       var spanTxt=$(inputText).parents(".pop-upBox").find("span");
           function xLength(){
                if(!isNaN(thisVal)){
                    var dot = thisVal.indexOf(".");
                    if(dot<0){
                        if(nm==3&&thisVal.length==3){
                            if(thisVal>100){
                              Dialog.alert("值不能大于100%!",function(){
                                inputText.value=thisVal.substr(0, 2);
                                spanTxt.text(inputText.value);
                              })
                            }
                        }
                        if(thisVal.length>nm){
                          if(nm==3){
                             var msg="值不能大于100%!"
                              Dialog.alert(msg,function(){
                                    inputText.value="";
                              }); 
                          }
                          else{                      
                                   var msg="整数位不能超过"+nm+"位"
                                  Dialog.alert(msg,function(){
                                    if(thisVal>1)
                                    {
                                       inputText.value=thisVal.substr(0, nm);
                                       spanTxt.text(inputText.value);
                                    }
                                    else{
                                       inputText.value="0.00";
                                      spanTxt.text("0.00");
                                    }
                                  });    
                            }
                        }
                    }
                      
                      if(dot>0&&nm==3&&thisVal>100){
                                Dialog.alert("值不能大于100%!",function(){
                                  inputText.value="";
                                })
                         }
               
                } 
           }


    var regStrs = [
        ['^0(\\d+)$', '0.00'], //禁止录入整数部分两位以上,但首位为0
        ['^(\\d+\\.\\d{'+mm+'}).+', '$1'],//禁止录入小数点后两位以上
        [xLength(), '']//整数位限制
    ];
    for(i=0; i<regStrs.length; i++){
        var reg = new RegExp(regStrs[i][0]);
        inputText.value = inputText.value.replace(reg, regStrs[i][1]);
    }

inputText.value = inputText.value.replace(/[^\d.]/g,"");  //清除“数字”和“.”以外的字符
inputText.value = inputText.value.replace(/^\./g,"");  //验证第一个字符是数字而不是.
inputText.value = inputText.value.replace(/\.{2,}/g,"."); //只保留第一个. 清除多余的.
inputText.value = inputText.value.replace(".","$#$").replace(/\./g,"").replace("$#$",".");


}

function overFormat(inputText){//失去焦点函数
    var thisVal= inputText.value;
    if(thisVal === '0'||thisVal === '0.'||thisVal==='.'){
        thisVal = '0.00';
    }
     if(/^\d+\.$/.test(thisVal)){//小数点之后没有数
        inputText.value = thisVal.substring(0, thisVal.length - 1); 
     }
    
}
$(function(){
      //小数点限制两位
        $(".nmPoint").keyup(function () {
            amount(this,10,2)
        })
          $(".nmPoint").blur(function () {
            overFormat(this)
        })
         //小数点限制六位
        $(".wnmPoint").keyup(function () {
            amount(this,6,6)
        })
         $(".wnmPoint").blur(function () {
            overFormat(this)
        })
            //百分比验证
        $(".pnmPoint").keyup(function () {
            amount(this,3,2)
        })
         $(".pnmPoint").blur(function () {
            overFormat(this)
        })

         $("input").keyup(function(){//禁止在文本框输入有闭合的</>标签
          $(this).val(filter( $(this).val()));
            function filter(text) {
              text = text.replace(/\"/g, "");
              text = text.replace(/\'/g, "");
              text = text.replace(/\\/g, "");
              text = text.replace(/<[^>]*>/g, "");
              return text;
          }
         })
})

 

posted @ 2015-03-31 14:07  落日知暮  阅读(557)  评论(0编辑  收藏  举报
作者:boyzi007 出处:http://www.cnblogs.com/boyzi/ QQ:470797533 QQ交流群:364307742 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。