我已经在文本框中设置了字符限制,但是在输入输入时,如果超过 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">
我希望它应该停止接受输入。
使用 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">
例如,您应该使用 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
** 编辑误会
并非所有浏览器都完全支持模式属性正则表达式——特别是那些支持它们的浏览器并不总是遵循复杂的正则表达式。至少我在 Safari 中注意到了这一点。
该maxlength
属性应该起作用。不知道为什么它不适合你。也许发布一个 JSBIN 示例供我们查看。
也就是说,对于复杂的客户端表单验证,您仍然需要依靠 javascript 来支持更广泛的浏览器。