我正在尝试输入最大数字为16,包括。和十进制数 金额应该是最多13和一个“。”和2位小数 例如。 5656546355646.00 = 16个字符
但目前尚未验证并向上显示指数值。 最多13位,应该只显示最多2位小数的整数,并且不应显示指数值
这是我的代码 脚本
function getKeyValue(keyCode) {
if(keyCode > 57) { //also check for numpad keys
keyCode -= 48;
}
if(keyCode >= 48 && keyCode <= 57) {
return String.fromCharCode(keyCode);
}
}
function formatNumber(input) {
if(isNaN(parseFloat(input))) {
return "0.00";
}
var num = parseFloat(input);
return (num / 100).toFixed(2);
}
$(".amountInput").keydown(function(e) {
//handle backspace key
var input = $(this).attr("data-actual-input");
if(e.keyCode == 8 && input.length > 0) {
input = input.slice(0,input.length-1); //remove last digit
$(this).attr("data-actual-input", input);
$(this).val(formatNumber(input));
}
else {
var key = getKeyValue(e.keyCode);
if(key) {
input += key; //add actual digit to the input string
$(this).attr("data-actual-input", input);
$(this).val(formatNumber(input)); //format input string and set the input box value to it
}
}
if(e.which == 8 || e.which == 46) {
return true;
}
var inpVal = $(this).val();
if(inpVal.length > 15) {
e.preventDefault();
return false;
}
return false;
});
html代码
<input type='tel' class="form-control amountInput" name="amt" data-actual-input="" value="0.00" required>
的jsfiddle
答案 0 :(得分:0)
您是否尝试过maxLength属性?从你的例子:
<input type='tel' class="form-control amountInput" name="amt" data-actual-input="" value="0.00" maxlength="15" required>