首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么<input type="number“maxlength="3">不能在Safari中工作?

为什么<input type="number“maxlength="3">不能在Safari中工作?
EN

Stack Overflow用户
提问于 2012-02-20 12:34:32
回答 8查看 123.8K关注 0票数 38

我喜欢输入最多3个字符。在Firefox中,一切都很好,我只能在输入中写入3个数字--但在safari中,您可以在其中写入大量数字。

您可以在两个浏览器中使用以下内容进行测试:http://flowplayer.org/tools/demos/validator/custom-validators.htm

现在,我通过一个验证插件意识到了这一点--但只是出于兴趣,我想知道为什么这个插件不能工作?

编辑:

有了这个,它就起作用了

代码语言:javascript
复制
<input class="required" id="field" type="text" maxlength="3" pattern="([0-9]|[0-9]|[0-9])" name="cvv"/>

答:How can I prevent letters inside a text element?

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2012-02-21 06:56:35

我做到这一点的方法是:

代码语言:javascript
复制
<input class="required" id="field" type="text" maxlength="3" pattern="([0-9]|[0-9]|[0-9])" name="cvv"/>

然后在JavaScript,我阻止了这些字母:

代码语言:javascript
复制
$("#myField").keyup(function() {
    $("#myField").val(this.value.match(/[0-9]*/));
});
票数 35
EN

Stack Overflow用户

发布于 2016-11-24 16:31:45

您可以尝试用户type=“文本”和oninput,如下所示。这只会让数字。

代码语言:javascript
复制
<input type="text" maxlength="3" oninput="this.value=this.value.replace(/[^0-9]/g,'');" id="myId"/>
票数 26
EN

Stack Overflow用户

发布于 2017-12-27 13:17:29

使用onKeyDown长度可以限制

代码语言:javascript
复制
<input type="number" onKeyDown="if(this.value.length==10 && event.keyCode!=8) return false;">

快乐编码:)

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

https://stackoverflow.com/questions/9361193

复制
相关文章

相似问题

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