我使用的是jQuery Tools Validator,它通过jQuery实现HTML5验证。
到目前为止,它工作得很好,除了一件事。在HTML5规范中,输入类型"number"
可以同时包含整数和浮点数。
这看起来非常短视,因为只有当数据库字段是有符号浮点数时,它才是一个有用的验证器(对于无符号整数,您将不得不退回到pattern
验证,从而失去支持它的浏览器的额外功能,如向上和向下箭头)。
是否有其他输入类型或属性可以将输入限制为 integers
我什么也找不到。
将步长设置为1不是答案,因为它不会限制输入。您仍然可以在文本框中键入负的浮点数。
此外,我知道模式验证(我在我的原始帖子中提到了它),但这不是问题的一部分。
我想知道HTML5是否允许将"number“类型的输入限制为正整数值。对于这个问题,答案似乎是“不,它不是”。
我不想使用模式验证,因为在使用jQuery工具验证时,这会导致一些缺点,但现在规范似乎不允许使用一种更干净的方法来实现这一点。
发布于 2013-06-20 16:19:39
发布于 2012-01-11 02:37:24
将step
属性设置为1
<input type="number" step="1" />
这在Chrome中似乎有点be,所以目前它可能不是最好的解决方案。
更好的解决方案是使用pattern
属性,该属性使用正则表达式来匹配输入:
<input type="text" pattern="\d*" />
\d
是数字的正则表达式,*
表示它接受多个数字。
发布于 2014-05-03 19:14:51
<input type="text" name="PhoneNumber" pattern="[0-9]{10}" title="Phone number">
使用此代码,对文本字段的输入限制为只能输入数字。模式是HTML5中提供的新属性。
https://stackoverflow.com/questions/8808590
复制相似问题