2014-07-21 36 views
0

我想避免用户输入任何非数字字符。 这是我的文本字段:HTML5输入类型模式在Android/Chrome中不起作用

<input id="cvv" name="cvv" type="text" minlength="3" pattern="[0-9]*" required="required" placeholder="000" size="3" maxlength="3"> 

这工作正常,在桌面浏览器。但是这不适用于Android/Chrome浏览器。任何帮助?谢谢。

+1

您可能会发现下列演示项目:http://jsfiddle.net/trixta/7NEBb/ –

回答

0

移动浏览器尚未完全支持HTML 5功能。检查兼容性here - see Browser Compatibility sectionhere

您可以使用“数字”输入类型,是从Android的4

<input id="cvv" name="cvv" type="number" required="required" placeholder="000" /> 

您也可以使用JavaScript来验证使用onkeypress事件或事件的onblur supported

+0

“类型=数字状态不适用于仅由数字组成的输入,但严格来说不是数字。例如,信用卡号码或美国邮政编码是不合适的。“http://www.w3.org/TR/html5/forms.html#number-state-%28type=number%29 –

+0

是的,要求这里只是数字,而不是信用卡号码或其他东西。 – Shankar

+0

CVV是一个类似密码的字符串(只是由数字组成),而不是“严格地说是一个数字”。答案中的代码是无效的:对于'type = number',属性'size','minlength'和'maxlength'是不允许的。 –

0

Android浏览器不需要support版本4.4之前的HTML5表单功能。

要在不支持HTML5功能的浏览器上通过模式(和必需)对表单数据执行客户端预检查,您需要使用JavaScript。有很多这样的库,但是在这种简单的情况下,自己编写代码可能会更容易。细节取决于所需的错误处理。

相关问题