使用jquery创建文本输入组合?
我想知道jquery是否可以让一个文本字段只接受3个字母和4个数字的组合(例如ABC1234)——按照这个顺序? 下面是一个简单的单向示例使用jquery创建文本输入组合?,jquery,textfield,Jquery,Textfield,我想知道jquery是否可以让一个文本字段只接受3个字母和4个数字的组合(例如ABC1234)——按照这个顺序? 下面是一个简单的单向示例 <input type="text" class="code" /> 如果您创建了具有maxlength的输入 <input id="testy" type="text" maxlength="7" /> 请注意,存在一些问题: 我不知道这对不同的操作系统有多方便(使用jQuery时可能没什么大不了的) 我没有一个numpad,
<input type="text" class="code" />
如果您创建了具有maxlength的输入
<input id="testy" type="text" maxlength="7" />
请注意,存在一些问题:
- 我不知道这对不同的操作系统有多方便(使用jQuery时可能没什么大不了的)
- 我没有一个numpad,也许那些键码是不同的(在使用jQuery时可能没什么大不了的)
- Del按钮将被禁用
老实说,代码相当草率。这只是为了让大家了解基本的想法;你可能需要对它进行调整,才能得到真正适合你的项目的东西。那把小提琴对我不管用。输入后所有字符都会被删除。我对regex不太了解,你能不能也修改一下示例以允许小写字母a-z?请:)@SoulieBaby当然可以。您只需将
i
添加到正则表达式的末尾(在最后一个/
之后),使其不区分大小写。编辑。
$("#text-input").focusout(function(){
var regex = "[\w]{3}[\d]{4}"
if(this.value.match(regex)){
// display success
}else{
/// display error
}
});
$('#testy').keydown(function (e) {
var keycode = e.which,
isLetter = keycode > 64 && keycode < 90,
isNumber = keycode > 47 && keycode < 58,
l = this.value.length;
if (keycode !== 8 && ((l < 4 && !isLetter) || (l > 3 && !isNumber))) {
e.preventDefault();
}
});
$("#text-input").focusout(function(){
var regex = "[\w]{3}[\d]{4}"
if(this.value.match(regex)){
// display success
}else{
/// display error
}
});