首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >只接受整数的数字输入类型?

只接受整数的数字输入类型?
EN

Stack Overflow用户
提问于 2012-01-11 02:35:40
回答 24查看 726.7K关注 0票数 305

我使用的是jQuery Tools Validator,它通过jQuery实现HTML5验证。

到目前为止,它工作得很好,除了一件事。在HTML5规范中,输入类型"number"可以同时包含整数和浮点数。

这看起来非常短视,因为只有当数据库字段是有符号浮点数时,它才是一个有用的验证器(对于无符号整数,您将不得不退回到pattern验证,从而失去支持它的浏览器的额外功能,如向上和向下箭头)。

是否有其他输入类型或属性可以将输入限制为 integers

我什么也找不到。

将步长设置为1不是答案,因为它不会限制输入。您仍然可以在文本框中键入负的浮点数。

此外,我知道模式验证(我在我的原始帖子中提到了它),但这不是问题的一部分。

我想知道HTML5是否允许将"number“类型的输入限制为正整数值。对于这个问题,答案似乎是“不,它不是”。

我不想使用模式验证,因为在使用jQuery工具验证时,这会导致一些缺点,但现在规范似乎不允许使用一种更干净的方法来实现这一点。

EN

回答 24

Stack Overflow用户

发布于 2013-06-20 16:19:39

仅使用超文本标记语言(documentation)可以实现的最佳效果:

代码语言:javascript
复制
<input type="number" min="0" step="1"/>

票数 362
EN

Stack Overflow用户

发布于 2012-01-11 02:37:24

step属性设置为1

代码语言:javascript
复制
<input type="number" step="1" />

这在Chrome中似乎有点be,所以目前它可能不是最好的解决方案。

更好的解决方案是使用pattern属性,该属性使用正则表达式来匹配输入:

代码语言:javascript
复制
<input type="text" pattern="\d*" />

\d是数字的正则表达式,*表示它接受多个数字。

票数 197
EN

Stack Overflow用户

发布于 2014-05-03 19:14:51

代码语言:javascript
复制
<input type="text" name="PhoneNumber" pattern="[0-9]{10}" title="Phone number">

使用此代码,对文本字段的输入限制为只能输入数字。模式是HTML5中提供的新属性。

Pattern attribute doc

票数 43
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8808590

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档