假设我有这样的输入:
$('#phone').mask("?99999", { placeholder: "" });
如果我输入'12345'
,请将光标放在3
和4
之间,然后按1
,文字就像:
'12314'
我希望像maxlength
这样的行为可以在达到限制时阻止任何其他字符,因此如果maxlength = 5
,文字将会保留为“12345”。
答案 0 :(得分:1)
修改强>
首先,使用此处How do I keep existing values from shifting to the right when entering keypresses into a jQuery Masked Input?中找到的解决方案来避免在按键上向右移动字符的掩码插件行为。
然后,在输入
上设置maxlength作为属性<input type="text" id="phone" maxlength="5">
这将限制输入长度。
答案 1 :(得分:1)
使用jQuery将其添加为属性对我有用:
$('#phone').mask("?99999", { placeholder: "" }).attr('maxlength', 5);
答案 2 :(得分:0)
在输入元素上放置一个MAXLEN。
答案 3 :(得分:0)
理解你想要实现的目标。
假设你有一个这样的文本框:
<input type="text" name="username" id="username">
输入验证的jquery代码是:
$('#username').on('input', function() {
var value = $('#username').val();
if (value.length == '5') {
$('#username').attr('readonly', true);
}
});
我为你做了一个小伙伴。试试这个 : http://jsfiddle.net/4Rxh7/1/
答案 4 :(得分:0)
试试这个:
HTML:
<input type="text" name="username" id="username" maxlength="5">
的javascript:
$('#username').on('keydown', function(event) {
var txtBox = $('#username');
if (txtBox.attr("maxlength") == txtBox.val().length) {
event.preventDefault();
event.stopPropagation();
}
});
$('#username').mask("?99999", { placeholder: "" });