如何使HTML输入标签仅接受数字值?
我需要确保某个<input>
字段仅将数字作为值。输入的内容不是表单的一部分。因此它不会被提交,因此在提交期间进行验证不是一种选择。我希望用户无法输入数字以外的任何字符。
有没有一种巧妙的方法可以实现这一目标?
回答:
回答:
您可以使用HTML5输入类型数字来限制仅数字输入:
<input type="number" name="someid" />
这仅在HTML5投诉浏览器中有效。确保您的html文档的doctype为:
<!DOCTYPE html>
回答:
为此,有一个新的非常简单的解决方案:
它允许您对文本使用 类型的输入过滤器<input>
,包括各种数字过滤器。这将正确处理“复制+粘贴”,“拖动+拖放”,键盘快捷键,上下文菜单操作,不可键入的键以及所有键盘布局。
一般而言,您可以进行JS验证,如下所示:
function isNumberKey(evt){ var charCode = (evt.which) ? evt.which : evt.keyCode
if (charCode > 31 && (charCode < 48 || charCode > 57))
return false;
return true;
}
<input name="someid" type="number" onkeypress="return isNumberKey(event)"/>
如果要允许小数,则将“ if条件”替换为:
if (charCode > 31 && (charCode != 46 &&(charCode < 48 || charCode > 57)))
以上是 如何使HTML输入标签仅接受数字值? 的全部内容, 来源链接: utcz.com/qa/406029.html