js input 数字输入的一些控制,小数位数

JS input 数字输入的一些控制,小数位数;
1、只能为数字
2、只能有一个小数点
3、小数点后最多两位
4、没有小数点,数首位不能为类似于 01、02
5、没有小数点,则位数只能最多6位整数

  • HTML代码:
     <input maxlength="9"   class="input_text" value="${xx}" onkeypress="keyPress(this)" onkeyup="keyUp(this)" onblur="onBlur(this)"/><span class="errorMsg">span>
    
    
  • JS代码:
      function keyUp(ob) {
         if (!ob.value.match(/^[\+]?\d*?\.?\d*?$/)){
         	ob.value = ob.value.replace(/\.{2,}/g,".");//一个小数点
             ob.value = ob.value.replace(".","$#$").replace(/\./g,"").replace("$#$",".");
             ob.value = ob.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3');//小数点后两位
             if(ob.value.indexOf(".")< 0 && ob.value !=""){//以上已经过滤,此处控制的是如果没有小数点,首位不能为类似于 01、02的金额
                 ob.value= parseFloat(ob.value);
                 if(ob.value.length > 6) { //如果输入长度等于6,则截取输入}
                     ob.value = ob.value.slice(0,6)
                 }
             }
         	ob.value = ob.t_value;
         }
         else {
             ob.value = ob.value.replace(/\.{2,}/g,".");
             ob.value = ob.value.replace(".","$#$").replace(/\./g,"").replace("$#$",".");
             ob.value = ob.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3');
             if(ob.value.indexOf(".")< 0 && ob.value !=""){//以上已经过滤,此处控制的是如果没有小数点,首位不能为类似于 01、02的金额
                 ob.value= parseFloat(ob.value);
                 if(ob.value.length > 6) { //如果输入长度等于6}
                     ob.value = ob.value.slice(0,6)
                 }
             }
             ob.t_value = ob.value;
         }
         if (ob.value.match(/^(?:[\+]?\d+(?:\.\d+)?)?$/)) {
             ob.value = ob.value.replace(/\.{2,}/g,".");
             ob.value = ob.value.replace(".","$#$").replace(/\./g,"").replace("$#$",".");
             ob.value = ob.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3');
             if(ob.value.indexOf(".")< 0 && ob.value !=""){//以上已经过滤,此处控制的是如果没有小数点,首位不能为类似于 01、02的金额
                 ob.value= parseFloat(ob.value);
                     if(ob.value.length > 6) { //如果输入长度等于6}
                         ob.value = ob.value.slice(0,6)
                     }
             }
             ob.o_value = ob.value;
         }
     
     }
    

你可能感兴趣的:(js)