如果可以只允许 JQuery 按键事件中输入框中的某些文本



如果可能的话,允许按键事件输入框中的特定字符串以相同的顺序。重要的是我只需要以相同的顺序允许。

示例:如果需要允许"NILL"用户必须以相同的顺序输入。如果用户输入"NL",那么我们需要限制它们。如果可能的话。

我尝试了以下方法:

$("input").keypress(function(e) {
var chr = chr = e.key;
if ("NILL".indexOf(chr) < 0 && e.which != 13)
return false;
console.log('allowed');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" name="foo" />

您可以将字符串转换为字符数组,然后检查每个索引是否与输入的键匹配

$(document).ready(function(){
var restriction = "NILL";
restriction = restriction.split(''); // transform to array of char
$("input").keypress(function(e) {
var chr = e.key.toUpperCase();
if(restriction[$(this).val().length] != chr){
return false;
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" name="foo" />