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

时间:2012-10-30 23:10:13

标签: 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>

使用以下javascript:

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

如何只允许输入4个字符?没有警报,只是阻止用户输入超过4个字符。

2 个答案:

答案 0 :(得分:5)

input个元素支持maxlength attribute,例如:

<input type="text" name="txtNumber" value="" maxlength="4">

...然后由用户代理(浏览器)强制执行。你也可以在chkSubmit中强制执行它,如果你想要一个腰带和括号的方法,通过检查value属性的长度,但它已经永远存在,我怀疑你会找到一个用户不处理它的代理。

RobG的观点(在对问题的评论中)也是很好的:在表单提交之前限制用户往往会对他们感到恼火。它可能适用于您的用例,也可能不适用,但至少考虑不限制它们(但可能使用keypress事件提供一些视觉反馈),并且仅在提交时验证长度,Stack Overflow的工作方式评价。

答案 1 :(得分:1)

使用 maxlength

<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>