<input id="groupidtext" type="text" style="width: 100px;" maxlength="6" /></td>
有没有办法让最小长度达到6?
答案 0 :(得分:16)
你可以用javascipt做这样的事情:
<input onblur="checkLength(this)" id="groupidtext" type="text" style="width: 100px;" maxlength="6" />
<!-- or use event onkeyup instead if you want to check every character strike-->
function checkLength(el) {
if (el.value.length != 6) {
alert("length must be exactly 6 characters")
}
}
请注意,这适用于不支持HTML 5的旧版浏览器,但依赖于启用了javascript的用户。
答案 1 :(得分:8)
您可以使用HTML5模式属性或使用JavaScript。
模式可以查找示例:
<input id="groupidtext" type="text" pattern="(.){6,6}" style="width: 100px;" maxlength="6" />
但是pattern属性仅适用于HTML5浏览器。对于旧版浏览器,您需要使用JavaScript。
编辑:根据要添加的评论中的建议,这仅在表单即将提交时才会生效。如果此输入不在表单中,并且您需要验证,则用户类型使用JavaScript
答案 2 :(得分:3)
答案 3 :(得分:3)
除了亚历克斯的回答:
<强> JS 强>:
$(function() {
$('input[type="submit"]').prop('disabled', true);
$('#check').on('input', function(e) {
if(this.value.length === 6) {
$('input[type="submit"]').prop('disabled', false);
} else {
$('input[type="submit"]').prop('disabled', true);
}
});
});
<强> HTML 强>:
<input type="text" maxlength="6" id="check" data-minlength="6" /><br />
<input type="submit" value="send" />
但是:您应该始终记得再次验证服务器端的用户输入,用户可以修改本地HTML或禁用Javascript。
答案 4 :(得分:1)
您无法在文字字段上设置最小长度,否则用户将无法输入前5个字符。
最好的办法是在提交表单时验证输入,以确保长度为6。
对于投票的智能设备 - maxlength不是验证属性,它旨在防止用户物理输入超过6个字符,相应的minlengh不在HTML规范的范围内,因为它&#39 ; s实现会使文本框无法使用。帮助用户了解他们所要求的原因是不可能的,这与指导他们找到正确的解决方案同样重要。