In summary the main issue is that, according to the spec, `<input type="number">` is only for numbers that are going to be parsed into a Javascript number. It has to make sense to increment, decrement or do other numerical operations on it. It's not to be used for strings or identifiers that just so happen to be numbers, e.g. credit card numbers. I'll admit this is slightly surprising to me but it does make a certain amount of sense.
The solution is to use `<input type=”text” inputmode=”numeric” pattern="[0-9]*">`.
The solution is to use `<input type=”text” inputmode=”numeric” pattern="[0-9]*">`.