How to Set Maximum Length in Input Type=Number

maxlength ignored for input type="number" in Chrome

From MDN's documentation for <input>

If the value of the type attribute is text, email, search, password, tel, or url, this attribute specifies the maximum number of characters (in Unicode code points) that the user can enter; for other control types, it is ignored.

So maxlength is ignored on <input type="number"> by design.

Depending on your needs, you can use the min and max attributes as inon suggested in his/her answer (NB: this will only define a constrained range, not the actual character length of the value, though -9999 to 9999 will cover all 0-4 digit numbers), or you can use a regular text input and enforce validation on the field with the new pattern attribute:

<input type="text" pattern="\d*" maxlength="4">

How can I set max-length in an HTML5 "input type=number" element?

And you can add a max attribute that will specify the highest possible number that you may insert

<input type="number" max="999" />

if you add both a max and a min value you can specify the range of allowed values:

<input type="number" min="1" max="999" />

The above will still not stop a user from manually entering a value outside of the specified range. Instead he will be displayed a popup telling him to enter a value within this range upon submitting the form as shown in this screenshot:

Sample Image

How to set maximum length in input type=number?

max attribue specifies the maximum possible value that we can specify.

for more details see this link

I think the following will be helpful to you,

//maxlength="10"
<input type="number" onKeyPress="if(this.value.length==10) return false;" />

Maxlength for input type number

If you want a maximum of 5 digits in the number, you can use the largest 5 digit number and set that as the max attribute for the input:

<input type="number" max="99999" />

The above will only maximize the number to 99999, but will not disallow input of more than 5 characters. This can't be done with HTML alone.

It can, though, be done with JavaScript. For example:

<input oninput="javascript: if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);"
type="number"
maxlength="5"
/>

All the code above does is, oninput, it checks the number of characters in the input, and if that is exceeding the number of characters specified in maxlength, it deletes the character.


Source: maxlength ignored for input type="number" in Chrome

Best way for assigning max length for input type number

you can use the max and min attribute of the input, like:

<input type="number" name="id" min="-99999" max="99999"> 

Then (depending on your styling) 2 arrows (up and down) will show and you won't be able to continue upping the number more than the max value and vice versa
Sample Image

You can learn more here: https://www.tutorialspoint.com/html-input-max-attribute

You can use form validation of some sort to show an alert if the user exceeds the limitation:
Sample Image

How to set a maxLength of NUMBER input with jQuery

maxlength is not a valid attribute for input type="number".

With this in mind, we will use the valid max attribute to get its value length and use it as a maxlength within an input event listener.

We will target the input elements of type number that have a max attribute set:

$('input[type=number][max]:not([max=""])')

Code Snippet:

$(document).ready(function() {
$('input[type=number][max]:not([max=""])').on('input', function(ev) { var $this = $(this); var maxlength = $this.attr('max').length; var value = $this.val(); if (value && value.length >= maxlength) { $this.val(value.substr(0, maxlength)); } });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script><input type="number" max="99999">

Max length em input type number html

o maxlength funciona por caracteres digitados (inputados), e não para o formato numerico especifico, o que você pode usar é o atributo max="" e vai ter que usar o step para adicionar de 0.01 em 0.01 (ou 0.1), assim: