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;
}
}
还没有评论,来说两句吧...