如果可以在keyPress事件的输入框中以相同的顺序允许特定的字符串。重要的是我只需要以相同的顺序允许。
示例:如果我需要允许“ 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" />
答案 0 :(得分:1)
您可以将字符串转换为字符数组,然后检查每个索引是否与输入的键匹配
$(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" />