0

我需要验证一个只能接受数字的文本框。所以我使用下面的代码。它将消息传递给用户,但它还将字母表写入文本框。当用户输入字母时,我不想写任何东西。

<script type="text/javascript">
function numeralsOnly(evt) {
    evt = (evt) ? evt : event;
    var charCode = (evt.charCode) ? evt.charCode : ((evt.keyCode) ? evt.keyCode : 
        ((evt.which) ? evt.which : 0));
    if (charCode > 31 && (charCode < 48 || charCode > 57)) {
        alert("This field can only contain numbers.");
        return false;
    }
    return true;
}
</script>
4

2 回答 2

3

您可以使用HTML5 输入类型 number来仅限制数字:

<input type="number" name="someid" />

或者

function isNumberKey(evt){
    var charCode = (evt.which) ? evt.which : event.keyCode
    if (charCode > 31 && (charCode < 48 || charCode > 57))
        return false;
    return true;
}

<input type="someid" name="number" onkeypress="return isNumberKey(event)"/>

DEMO FIDDLE

于 2013-09-10T04:58:02.507 回答
1

你使用 HTML5 的输入类型 = number

<input type="number" max="100" min="1" steps="any"/>

有可用的 javascript 插件JqueryAlphanumeric

$("#MytextBoxId").numeric(); // this will allow user to enter numbers only.
于 2013-09-10T04:59:02.077 回答