使HTML5输入类型="数字"接受破折号

时间:2015-01-20 10:45:05

标签: html5 mobile input keyboard

我想使用HTML表单的数字输入类型。

不幸的是,它只接受真实数字,之间没有破折号。

有没有办法让数字输入接受像“1234-123456789”这样的数字?

3 个答案:

答案 0 :(得分:12)

我最近遇到了同样的问题。我使用type =" tel"而不是type =" text"或者输入="数字"。通过使用' tel'我能够在移动设备上获得仅数字键盘,并且仍然可以使用我的模式=" [0-9 \ - ] +"。

这是我使用的代码。我希望这对你需要的东西足够好。他们确实需要这样做,以便添加一个模式属性会覆盖type属性设置的任何内置模式。

<input id='zipcode' name='zipcode' type='tel' pattern="[0-9\-]+" placeholder='Zip-code'>

当然,只有你想要的只是破折号和括号时,这才有效。

答案 1 :(得分:4)

您可以使用正则表达式来验证该值。只需将其放在pattern属性中即可。您还必须将输入的type更改为text才能使用它。

 <input type="text" pattern="[0-9]+([-\,][0-9]+)?" name="my-num"
               title="The number input must start with a number and use either dash or a comma."/>

答案 2 :(得分:1)