GeekUp
GeekUp

Reputation: 51

Textbox numeric with still character e input and negative integers with javascript

I have a textbox with numeric inputs. Here is my javascript set to numeric textbox. But when I try to input letters, "e" is allowed. Problem: What I want to do is no letter should be allowed, only numeric numbers and no negative integer.

HTML:

<input type="numeric" id="usrid" name="usrid" placeholder="Enter number">

Javascript:

$(document).ready(function() {
    $("#usrid").numeric();
});

Upvotes: 3

Views: 373

Answers (3)

Farhad Rakib
Farhad Rakib

Reputation: 162

If you want to take only the number input then input type should be number like following

<input type="number" id="usrid" name="usrid" placeholder="Enter number">

but it takes the letter 'e' which is stands for exponential value.Better you have try the following which use js to validate the input using on 'keypress'

HTML code:

 <input type="input" id="usrid" name="usrid" placeholder="Enter number">

JavaScript Code:

<script type="text/javascript">

 $(document).ready(function() {

$('[id^=usrid]').keypress(validateNumber);

});

function validateNumber(e) {
    var key = window.e ? e.keyCode : e.which;

    if (e.keyCode === 8 || e.keyCode === 46
        || e.keyCode === 37 || e.keyCode === 39) {
        return true;
    }
    else if ( key < 48 || key > 57 ) {
        return false;
    }
    else return true;
};

    </script>

Upvotes: 0

Irving Navarro Flores
Irving Navarro Flores

Reputation: 11

you can try this
   <form>
      Quantity (between 1 and 5):
      <input type="number" name="quantity" min="1" max="5"><br> 
      <input type="submit">
    </form>

in this page you can find more example about of limit of number, in html http://www.w3schools.com/tags/att_input_max.asp

Upvotes: 0

Anthony E
Anthony E

Reputation: 11235

You can use the type="number" and min=0 attributes in your input to enforce validation on these fields:

<input type="number" id="usrid" name="usrid" min=0 placeholder="Enter number">

However, this won't prevent input of negative or non-numeric characters into the input field. For that you'll need to bind a javascript event:

$('#usrid').bind('keypress', function (event) {
    var regex = new RegExp("^[0-9]+$");
    var key = String.fromCharCode(!event.charCode ? event.which : event.charCode);
    if (!regex.test(key)) {
       event.preventDefault();
       return false;
    }
});

Upvotes: 1

Related Questions