0

我已经在文本框中设置了字符限制,但是在输入输入时,如果超过 9 个字符,它会继续输入另一个字段而不使用制表符

<input data-val="true" data-val-regex="Please enter valid SSN" data-val-regex-pattern="^\d{3}-\d{2}-\d{4}$" id="Ssn" name="Ssn" type="text" value="" class="valid">

我希望它应该停止接受输入。

4

3 回答 3

0

使用 maxlength 属性

<input data-val="true" data-val-regex="Please enter valid SSN" data-val-regex-pattern="^\d{3}-\d{2}-\d{4}$" id="Ssn" name="Ssn" type="text" value="" class="valid" maxlength="9">
于 2012-08-02T05:58:53.987 回答
0

例如,您应该使用 jQuery

<input data-val="true" maxlength=9 data-val-regex="Please enter valid SSN" data-val-regex-pattern="^\d{3}-\d{2}-\d{4}$" id="Ssn" name="Ssn" type="text" value="" class="valid"><br>
<script lang="text/javascript">
    $("#Ssn").keyup(function(e)
    {
        var str=$("#Ssn").val();
        if(str.length==9)
        {
            $("#Ssn").blur();
        }
    });
</script>

在此代码中,您必须先包含 jQuery

** 编辑误会

于 2012-08-02T06:04:17.653 回答
0

并非所有浏览器都完全支持模式属性正则表达式——特别是那些支持它们的浏览器并不总是遵循复杂的正则表达式。至少我在 Safari 中注意到了这一点。

maxlength属性应该起作用。不知道为什么它不适合你。也许发布一个 JSBIN 示例供我们查看。

也就是说,对于复杂的客户端表单验证,您仍然需要依靠 javascript 来支持更广泛的浏览器。

于 2012-08-02T06:09:50.063 回答