jquery 按键时替换字符
jquery replace character when keypress
我正在搜索以使用默认值 0.00 进行输入
当你尝试写一个数字,比如 6,在输入中出现 0.06
接下来的 62,出现 0.62 ...
第一位数字后最多 3 位数字以点分隔 ...
我在 Phone IMEI 检查中看到类似的内容,但我不记得在哪里...
13 位数字 0,当你写一个数字时,它会用新数字替换最后一个数字
我不知道如何搜索这样的东西...
谢谢,如果这是一个愚蠢的问题,我们深表歉意。
斯蒂芬
希望这能解决您的问题。我在 keyup
事件上使用 event.key
来确定按下了哪个键,然后处理输入数据显示结果。
var result = 0;
$(document).ready(function() {
$("input").keyup(function(event) {
var k = event.key;
if (!isNaN(k)) { //check if input is a number
if((parseFloat(result)) < 1) { //condition to keep result in maximum of 3 digit
result = parseFloat(result*1000) + parseFloat(k);
result /= 100;
result = result.toFixed(2); //Convert into a string, keeping only two decimals
$("input").val(result);
} else {
$("input").val(result);
}
} else if (k == "Backspace" || k == "Delete") { //check if backspace or delete is pressed
result = 0;
$("input").val("0.00");
} else { //check if any non-numeric key pressed
$("input").val(parseFloat(result).toFixed(2));// assures that always shows formatted result
}
});
});
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
</head>
<body>
Enter number:
<input type="text" placeholder="0.00" autofocus>
</body>
</html>
您可以使用keydown
函数
https://jsfiddle.net/moongod101/4s8npyhy/
我正在搜索以使用默认值 0.00 进行输入
当你尝试写一个数字,比如 6,在输入中出现 0.06 接下来的 62,出现 0.62 ... 第一位数字后最多 3 位数字以点分隔 ...
我在 Phone IMEI 检查中看到类似的内容,但我不记得在哪里... 13 位数字 0,当你写一个数字时,它会用新数字替换最后一个数字
我不知道如何搜索这样的东西...
谢谢,如果这是一个愚蠢的问题,我们深表歉意。
斯蒂芬
希望这能解决您的问题。我在 keyup
事件上使用 event.key
来确定按下了哪个键,然后处理输入数据显示结果。
var result = 0;
$(document).ready(function() {
$("input").keyup(function(event) {
var k = event.key;
if (!isNaN(k)) { //check if input is a number
if((parseFloat(result)) < 1) { //condition to keep result in maximum of 3 digit
result = parseFloat(result*1000) + parseFloat(k);
result /= 100;
result = result.toFixed(2); //Convert into a string, keeping only two decimals
$("input").val(result);
} else {
$("input").val(result);
}
} else if (k == "Backspace" || k == "Delete") { //check if backspace or delete is pressed
result = 0;
$("input").val("0.00");
} else { //check if any non-numeric key pressed
$("input").val(parseFloat(result).toFixed(2));// assures that always shows formatted result
}
});
});
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
</head>
<body>
Enter number:
<input type="text" placeholder="0.00" autofocus>
</body>
</html>
您可以使用keydown
函数
https://jsfiddle.net/moongod101/4s8npyhy/