我可以在Javascript中开发以下代码,只允许给定HTML TextField
的数字。
function isNumberKey(evt)
{
var charCode = (evt.which) ? evt.which : event.keyCode;
if (charCode > 31 && (charCode < 48 || charCode > 57))
{
return false;
}
return true;
}
<input type='text' id='textField' name='textField' onkeypress="return isNumberKey(event);">
但我需要允许一个且只有一个小数点(。)输入TextField
。我尝试了一些方法,但我没有编写可以满足此要求的代码。如何只允许数字以及给定TextField
的唯一小数点?
答案 0 :(得分:2)
你可以尝试这个Javascript吗?它适用于我的情况:
var decimalPointCount = 0;
function checkInputData(evt) {
var charCode = (evt.which) ? evt.which : event.keyCode;
if (charCode > 31 && (charCode < 48 || charCode > 57)) {
if (charCode == 46 && decimalPointCount == 0) {
decimalPointCount++;
return true;
}
else {
return false;
}
}
return true;
}
答案 1 :(得分:1)
你可以试试这个javascript,
<script type="text/javascript">
function isNumberKey(evt)
{
var charCode;
if(evt.keyCode) //For IE
charCode = evt.keyCode;
else if(evt.Which)
charCode = evt.Which; // For FireFox
else
charCode = evt.charCode; // Other Browser
//var charCode = (evt.which) ? evt.which : event.keyCode;
return (charCode<=31 || charCode==46 || (charCode>=48 && charCode<=57));
}
function validCurrency(txt)
{
return txt.match(/^\d*(.\d{0,2})?$/);
}
function validateForm(formObj)
{
if(!validCurrency(document.getElementById('textField').value))
{
document.getElementById('textField').select();
document.getElementById('textField').focus();
return false;
}
return true;
}
</script>
<form name="form1" action="" onsubmit="return validateForm(this);">
Amount: <input type='text' id='textField' name='textField' onkeypress="return isNumberKey(event);">
<button type="submit">submit</button>
</form>
它只允许数字和唯一的小数点。