HTML输入不允许数字

HTML输入不允许数字,html,input,Html,Input,现在我有一个如下的输入字段: <input class="form-control" type="text"/> 但它仍然允许输入数字 我希望输入名称,并希望在字符串包含数字时显示错误消息。如何实现这一点?您可以使用本机 与电子邮件验证()类似: 对于您的特定情况,您可以使用regexp,如pattern=“[a-zA-Z]*”() 当您提交表单时,它会以红色边框突出显示,以显示验证错误。在不同的浏览器中,它的行为会略有不同 我不认为有标准的方法可以覆盖所有默认样式,但是有一

现在我有一个如下的输入字段:

<input class="form-control" type="text"/>

但它仍然允许输入数字

我希望输入名称,并希望在字符串包含数字时显示错误消息。如何实现这一点?

您可以使用本机

与电子邮件验证()类似:

对于您的特定情况,您可以使用regexp,如
pattern=“[a-zA-Z]*”
()

当您提交表单时,它会以红色边框突出显示,以显示验证错误。在不同的浏览器中,它的行为会略有不同

我不认为有标准的方法可以覆盖所有默认样式,但是有一些特定于浏览器的方法可以做到这一点()

对于某些样式,您可以在适当的位置设置css挂钩以进行更改


编辑:更新了小提琴。

您有几个选项

不管选项是什么,您都将以某种方式使用正则表达式

您可以在客户端使用
JavaScript

函数验证(){
var inputValue=document.getElementById(“测试”).value;
var reg=new RegExp(“^\\d+$”);
var测试=调节测试(输入值);
//--做些测试--
控制台日志(测试);
}


验证
没有输入,只有文本:

。。。您可以对输入尝试js+操作,如onkeydown

并通过正则表达式验证(仅字母)


可以更好地控制验证的好坏。仅警报或更改颜色等。

这将帮助您仅键入字符:

$(函数(){
$('#txtNumeric').keydown(函数(e){
if(e.shiftKey | | e.ctrlKey | | e.altKey){
e、 预防默认值();
}否则{
var key=e.keyCode;

如果(!((键==8)| |(键==32)| |(键==46)| |(key>=35&&key=65&&key您已经尝试了什么?也许您可以添加此代码。另外……这只是html吗?或者您使用的是.net、php、java或其他类型的服务器代码吗?Sry,格式有问题。这应该是简单的html验证。主意不错,但可能不支持旧浏览器。在Chrome 5+、IE10+、FF4+、Ope中受支持ra9.6+,在Safari中不受支持。@MichaelGiovanniPumo polyfill应该负责旧浏览器,因为Panagiotis说有polyfill可以帮助您。是的,当然。不幸的是像“\p{L}”这样的正则表达式不起作用。“[A-zA-Z]”将突破多种语言。但如果没有更好的替代方案,我想我将不得不坚持使用它。我不想用JavaScript进行验证。我希望将其保留在HTML中,并获得整洁的浏览器支持,如错误输入的消息。您需要在客户端使用JavaScript或某种服务器端code.HTML5具有文本框的模式属性,但正如我所说的……它只受现代浏览器的支持……任何使用IE9等旧浏览器的人都不会正确验证。这对我来说没关系。支持旧浏览器不是优先考虑的问题。然后用我的正则表达式“^\\d+$”尝试Mori的模式属性,这可能适用于您需要的这似乎是前面有反斜杠的多个数字的正则表达式模式?