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

2 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>
Run Code Online (Sandbox Code Playgroud)

使用以下javascript:

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

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

T.J*_*der 5

inputelements支持一个maxlength属性,例如:

<input type="text" name="txtNumber" value="" maxlength="4">
Run Code Online (Sandbox Code Playgroud)

...然后由用户代理(浏览器)强制执行.你也可以chkSubmit通过检查value属性的长度来强制执行它,但是它已经永远存在,我怀疑你会找到一个不能处理它的用户代理.

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