不允许用户在文本框中输入字母字符

时间:2013-09-10 04:54:47

标签: javascript

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

<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>

2 个答案:

答案 0 :(得分:3)

您可以使用HTML5 input type 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

答案 1 :(得分:1)

您使用的是HTML5的输入类型=数字

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

有javascript插件可用JqueryAlphanumeric

$("#MytextBoxId").numeric(); // this will allow user to enter numbers only.