我已经阅读了许多其他问题,例如这些[1][2][3] ,但问题仍然存在。
我需要找到一种适用于移动设备的HTML input
的“最干净”方法,并符合以下三个规则:
我试过什么?
我尝试了这些解决方案,但没有哪一个同时满足上述三个规则。
解决方案1
<input type="text" pattern="\d*" />
尽管这个解决方案在iOS上工作并符合W3C验证器测试的HTML规则,但在Chrome Android上会显示带有QWERTY键盘的完整键盘。
解决方案2
<input type="number" pattern="\d*" />
这种解决方案适用于iOS和Android Chrome系统,在这两个系统上都会显示数字键盘,但它会在W3C验证器中抛出HTML验证错误:
pattern属性仅允许在输入类型为电子邮件、密码、搜索、电话、文本或网址时使用。
解决方案3
<input type="number" />
这个解决方案通过了W3C HTML测试,在Chrome上显示良好,但在iOS键盘上出现了几个不需要的按键
解决方案4
我看到很多开发人员使用这种解决方案
<input type="tel" />
然而在Android Chrome中,不允许使用点符号.
(因此没有浮点数),并且按键上有字母,这是多余的。