Eitan Adler <li...@eitanadler.com> writes:

> At the moment if you'd like the user to enter *only* digits (no separators,
> +, -, etc.) you must resort to a hack
> <input type="text" pattern="\d*" />
> This results in a correct "digits only" keyboard on some mobile keyboards
> (and nothing on desktops).

Why do you see a problem with that?

> There are several use cases for digits only, but the main ones that come to
> mind are TOTP codes, CVV codes for credit cards, etc.
> <input type="number" min="100000" max="999999" step="1" />
> might work, but is non-obvious and still results in buttons for "+", "-",
> and "." in some mobile browsers.

This is wrong; text containing only digits is not a number.

> In addition, it may be useful to allow minlengt and maxlength for numeric
> inputs. This can result in better error messages where the value to be
> entered needs to be copied from somewhere, and so the minimum and maximum
> are really proxies for length.

Please continue to use text input elements and the pattern attribute.

Nils Dagsson Moskopp // erlehmann

Reply via email to