javascript,限制文本字段中的字符数

javascript,限制文本字段中的字符数,javascript,validation,Javascript,Validation,我有一个表单,它只允许在文本框中输入数字,或者出现一个警报: <form name="formName" action="" method="post" OnSubmit="return chkSubmit();"> Input Number <input type="text" name="txtNumber" value=""> <input type="submit" name="btnSubmit" value="Submit"&

我有一个表单,它只允许在文本框中输入数字,或者出现一个警报:

<form name="formName" action="" method="post" OnSubmit="return chkSubmit();"> 
    Input Number 
    <input type="text" name="txtNumber" value="">
    <input type="submit" name="btnSubmit" value="Submit">
</form>

输入号码
使用以下javascript:

<script>
function chkSubmit()
{
     if(isNaN(document.formName.txtNumber.value))
     {
        alert('Please input numbers only.');
        return false;
     }
}</script>

函数chkSubmit()
{
if(isNaN(document.formName.txtNumber.value))
{
警报('请仅输入数字');
返回false;
}
}

如何只允许输入4个字符?无警报,仅防止用户键入超过4个字符。

输入
元素支持a,例如:


…然后由用户代理(浏览器)强制执行。如果您想要一种安全带和支架的方法,您也可以在
chkSubmit
中强制执行它,方法是检查
value
属性的长度,但它已经存在很久了,我怀疑您是否会找到不处理它的用户代理


RobG的观点(在对这个问题的评论中)也得到了很好的理解:在提交表单之前限制用户往往会激怒他们。它可能对您的用例可能是不合适的,但至少考虑不限制它(但可能使用“代码> > KEPress < /COD>事件”给出一些视觉反馈),并且仅在提交上验证长度,在注释上堆栈溢出的方式。

使用<强>最大长度< /强>

<form name="formName" action="" method="post" OnSubmit="return chkSubmit();"> 
    <input type="text" name="txtNumber" maxlength="4" value="" />
    <input type="submit" name="btnSubmit" value="Submit" />
</form>

as在限制用户输入时,这样做很烦人。您只关心表单提交时字段是否有效,在此之前它包含的任何内容对您都不感兴趣。
<form name="formName" action="" method="post" OnSubmit="return chkSubmit();"> 
    <input type="text" name="txtNumber" maxlength="4" value="" />
    <input type="submit" name="btnSubmit" value="Submit" />
</form>