我有一个html文本框,我想将小数后的数字限制为4。 在操作之后,可以使用toFixed()来实现,但是当用户输入文本时,有任何出路。
请指导我。
答案 0 :(得分:1)
你尝试过REGEX吗?
正则表达式看起来像
/^[0-9]+.[0-9]{4}$/
其中{4}表示.
之后的长度为4
定义REGEX:
var regex1=/^[0-9]+.[0-9]{4}$/;var yourtextfromTextBox= textBox.text();yourtextfromTextBox.match(regex1);
试试这个
答案 1 :(得分:0)
您可以使用 onkeyup="yourFunction"
功能来执行此操作。
答案 2 :(得分:0)
只是一个想法:jsFiddle live demo
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Round to 4 Decimal Places</title>
<script type="text/javascript" src="http://ajax.microsoft.com/ajax/jQuery/jquery-1.4.2.min.js"></script>
<script type="text/javascript">
$(function() {
$('#input').keypress(function(){
try {
val = $(this).val().split('.');
if(val[1] > 999) return false;
}catch(e){}
})
});
</script>
</head>
<body>
<p>Type a decimal number in the TextBox, limited to 4 decimals</p>
<input id="input" type="text" />
</body>
</html>
当然,这仅适用于.
,这可以通过仅允许数字来改进,并检查,
。
答案 3 :(得分:0)
答案 4 :(得分:0)
function decimal_only(e) {
var charCode = (e.which) ? e.which : window.event.keyCode
if (charCode != 46 && charCode > 31 && (charCode < 48 || charCode > 57)) {
return false;
}
if (charCode == 46) { //Now Check The Decimal only allow 1 decimal
if (e.value.indexOf('.') > -1) {
return false;
}
}
return true;
}
在文本框事件onkeypress上使用此函数。
喜欢
onkeypress =&#34;返回decimal_only(this)&#34;
这将只允许1个十进制和整数值给用户