校验输入框输入两位小数

Posted michaelcnblogs

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了校验输入框输入两位小数相关的知识,希望对你有一定的参考价值。

<script type="text/javascript">
/**  
* 实时动态强制更改用户录入  
* arg1 inputObject  
**/
function amount(th){
var regStrs = [
[‘^0(\d+)$‘, ‘$1‘], //禁止录入整数部分两位以上,但首位为0  
[‘[^\d\.]+$‘, ‘‘], //禁止录入任何非数字和点  
[‘\.(\d?)\.+‘, ‘.$1‘], //禁止录入两个以上的点  
[‘^(\d+\.\d{2}).+‘, ‘$1‘] //禁止录入小数点后两位以上  
];
for(var i=0; i<regStrs.length; i++){
var reg = new RegExp(regStrs[i][0]);
th.value = th.value.replace(reg, regStrs[i][1]);
}
}

/**  
* 录入完成后,输入模式失去焦点后对录入进行判断并强制更改,并对小数点进行0补全  
* arg1 inputObject  
**/
function overFormat(th){
var v = th.value;
if(v === ‘‘){
v = ‘0.00‘;
}else if(v === ‘0‘){
v = ‘0.00‘;
}else if(v === ‘0.‘){
v = ‘0.00‘;
}else if(/^0+d+.?d*.*$/.test(v)){
v = v.replace(/^0+(d+.?d*).*$/, ‘$1‘);
v = inp.getRightPriceFormat(v).val;
}else if(/^0.d$/.test(v)){
v = v + ‘0‘;
}else if(!/^d+.d{2}$/.test(v)){
if(/^d+.d{2}.+/.test(v)){
v = v.replace(/^(d+.d{2}).*$/, ‘$1‘);
}else if(/^d+$/.test(v)){
v = v + ‘.00‘;
}else if(/^d+.$/.test(v)){
v = v + ‘00‘;
}else if(/^d+.d$/.test(v)){
v = v + ‘0‘;
}else if(/^[^d]+d+.?d*$/.test(v)){
v = v.replace(/^[^d]+(d+.?d*)$/, ‘$1‘);
}else if(/d+/.test(v)){
v = v.replace(/^[^d]*(d+.?d*).*$/, ‘$1‘);
ty = false;
}else if(/^0+d+.?d*$/.test(v)){
v = v.replace(/^0+(d+.?d*)$/, ‘$1‘);
ty = false;
}else{
v = ‘0.00‘;
}
}
th.value = v;
}
</script>

以上是关于校验输入框输入两位小数的主要内容,如果未能解决你的问题,请参考以下文章

JSP控制输入框只能输入数字并且限制输入小数为两位

input输入框,控制只能输入两位小数点输入价格(原生)

如何使用JS通过正则限制input输入框只能输入整数,小数两位小数

iOS开发-限制文本框输入两位小数和最大值

关于文本框的正则表达式,只能输入正数,可以有小数点,小数点后面两位。

Jquery 正则限制文本框只能输入数字(整数保留两位小数负数)