业务需求:
当依次输入 1 2 3 4时,
效果:0.01 -> 0.12 -> 1.23 -> 12.34
当依次输入 1 2 3 . 4 5 6 时,
效果:0.01 ->0.12 -> 1.23 -> 123. -> 123.4 -> 123.45 -> 1234.56
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title></title>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<body>
<div>
<input id="Amount" type="text"/>
</div>
</body>
</html>
<script language="JavaScript">
//input amount js
$(function () {
//$("#Amount").focus();
$("#Amount").on('input', function (e) {
var str = $(this).val();
str = str.replace(/[^\d.]/g, '');
var arr = str.split('.');
var res = arr.join("").replace(/^0*/g, '');
console.log(e);
console.log(e.originalEvent);
console.log(e.originalEvent.data)
if (e.originalEvent.data != '.') {
var lst = arr[arr.length-1];
var num = (arr.length != 1 && lst.length == 1 && e.originalEvent.data)? 1:2;
while (res.length < num+1) {
res = "0" + res;
}
res = res.substring(0, res.length - num) + '.' + res.substring(res.length - num, res.length);
}else if(e.originalEvent.data == '.'){
res += (!res.length)? '0.':'.';
}
$(this).val(res);
})
})
</script>
MVC中@Html.EditorFor()设置方式链接: