maxlength ignored for input type=number in Chrome
From MDN's documentation for <input>
If the value of the type attribute is
text
,search
,password
,tel
, orurl
, 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">
HTML maxlength attribute not working on chrome and safari?
Use the max attribute for inputs of type="number"
. It 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" />
See this example
EDIT
If, for user experience, you would prefer the user not to be able to enter more than a certain number, use Javascript/jQuery, as seen in this example
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:
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
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;" />
why is input type=number maxlength=3 not working in Safari?
I've accomplished it with:
<input class="required" id="field" type="text" maxlength="3" pattern="([0-9]|[0-9]|[0-9])" name="cvv"/>
and then in JavaScript I prevented the letters:
$("#myField").keyup(function() {
$("#myField").val(this.value.match(/[0-9]*/));
});
Related Topics
Directory Chooser in HTML Page
Css Absolute Position With X Scrolling
Two Images, Side by Side Responsive
Html/Css - Make Alert Disappear After a Few Seconds
How to Remove the Extra Space in in This Search Box (Between Input Field and Button)
Inserting Form Data into MySQL Database When Using Nodejs Express
Children Not Staying Inside Parent Divs
How to Horizontally Center an Element
How to Style a Checkbox Using Css
How to Run a HTML File from Terminal
How to Embed an External Webpage Without Using Iframe
How to Limit the Maximum Files Chosen When Using Multiple File Input
How to Display Multiple Lines of Text in Svg
Next.Js Background-Image CSS Property Cant Load the Image