I have found that, at least for "passcode"-like fields, doing something like <input type="tel" />
ends up producing the most authentic number-oriented field and it also has the benefit of no autoformatting. For example, in a mobile application I developed for Hilton recently, I ended up going with this:
... and my client was very impressed.
<form>_x000D_
<input type="tel" />_x000D_
<button type="submit">Submit</button>_x000D_
</form>
_x000D_