v0ld3m0rt
v0ld3m0rt

Reputation: 904

Not let user enter alphabetic characters in a textbox

I need to validate a textbox which can only takes numbers. So i'm using the code below. It passes a message to the user but it also writes the alphabet to the textbox. I don't want anything written when user enters an alphabet.

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

Upvotes: 0

Views: 2111

Answers (2)

sudhansu63
sudhansu63

Reputation: 6200

you use HTML5 's input type = number

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

There is javascript plugin availble JqueryAlphanumeric

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

Upvotes: 1

Kiran
Kiran

Reputation: 20303

You can use HTML5 input type number to restrict only numbers:

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

or

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

Upvotes: 3

Related Questions