本文主要是介绍WebApp中input限制金额输入,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
控制输入:
/**
* 实时动态强制更改用户录入
**/
function amount(th){var regStrs = [['^0(\\d+)$', '$1'], //禁止录入整数部分两位以上,但首位为0['[^\\d\\.]+$', ''], //禁止录入任何非数字和点['\\.(\\d?)\\.+', '.$1'], //禁止录入两个以上的点['^(\\d+\\.\\d{2}).+', '$1'], //禁止录入小数点后两位以上['^\d+(\.\d+)?$']];for(i=0; i<regStrs.length; i++){var reg = new RegExp(regStrs[i][0]);th.value = th.value.replace(reg, regStrs[i][1]);}
}
function AmountInput()
{//敲击按键时触发 $("#txtAmount").bind("keypress", function(event) { amount(this);//失去焦点是触发 $("#txtAmount").bind("blur", function(event) { amount(this);});});$("#txtAmount").bind("keyup", function(event) { amount(this);});
}
这样做控制了在PC上的输入,然而在手机上面输入22.25 然后将光标点到22中间并输入+ 变成2+2.25 此时金额就出现问题了!
然后需要判断一下金额
function <pre name="code" class="javascript">$('#txtAmount').bind('input propertychange', function() {
checkNum(xx)
});
checkNum(num){ var pattern = /^(([1-9]\d{0,9})|0)(\.\d{1,2})?$/; var cv1 = num.substring(num.length-1,num.length); if(cv1==".") { return false; } else { return pattern.test(num); }}
这篇关于WebApp中input限制金额输入的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!