我需要确保某个 <input>
字段只将数字作为值。输入不是表单的一部分。因此它不会被提交,因此在提交期间进行验证不是一种选择。我希望用户无法输入数字以外的任何字符。
有没有一种巧妙的方法来实现这一目标?
原文由 chtenb 发布,翻译遵循 CC BY-SA 4.0 许可协议
我需要确保某个 <input>
字段只将数字作为值。输入不是表单的一部分。因此它不会被提交,因此在提交期间进行验证不是一种选择。我希望用户无法输入数字以外的任何字符。
有没有一种巧妙的方法来实现这一目标?
原文由 chtenb 发布,翻译遵循 CC BY-SA 4.0 许可协议
也可以使用html5中的pattern属性:
<input type="text" name="name" pattern="[0-9]" title="Title" />
虽然,如果您的文档类型不是 html
那么我认为您需要使用一些 javascript/jquery。
原文由 martincarlin87 发布,翻译遵循 CC BY-SA 4.0 许可协议
2 回答1.4k 阅读✓ 已解决
1 回答835 阅读✓ 已解决
2 回答841 阅读✓ 已解决
1 回答1.1k 阅读✓ 已解决
1 回答838 阅读✓ 已解决
2 回答761 阅读
1 回答732 阅读✓ 已解决
HTML 5
您可以使用 HTML5 输入类型数字 来限制仅输入数字:
这仅适用于 HTML5 兼容浏览器。确保您的 html 文档的文档类型是:
<!DOCTYPE html>
另请参阅 https://github.com/jonstipe/number-polyfill 以了解旧版浏览器中的透明支持。
JavaScript
更新: 有一个新的非常简单的解决方案:
请参阅 此答案 或 在 JSFiddle 上 自己尝试。
对于一般用途,您可以进行如下 JS 验证:
如果你想允许小数,用这个替换“if condition”:
来源: HTML文本输入只允许数字输入
JSFiddle 演示:http: //jsfiddle.net/viralpatel/nSjy7/