我试图限制来自user.like的输入 用户不应该连续按键。最多可以使用4个
答案 0 :(得分:2)
以下代码可以帮助您
$(document).ready(function(){
var flag=0;
$("#txt").on('keydown',function(e){
flag++;
if(flag>4){
e.preventDefault();
}
});
$("#txt").on('keyup',function(e){
flag=0;
});
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<input type="text" id="txt">
&#13;
答案 1 :(得分:0)
试试这个。可能不是最优雅的方式,但确实有效。
MarkUp:
<input type="text" id="txt1" onkeypress="CheckCharacters();" />
脚本:
function CheckCharacters()
{
var occurancesToCheck = 4;
var chars = $("#txt1").val().substring($("#txt1").val().length - occurancesToCheck, $("#txt1").val().length);
if (/^(.)\1+$/.test(chars) && chars.length == occurancesToCheck)
{
event.preventDefault ? event.preventDefault() : event.returnValue = false;
}
}
答案 2 :(得分:0)
这真的很快,很脏,但这是一个有效的例子(通过正则表达式):
$('#tester').on('keydown', function(e) {
// Check if the last four characters are the same...
if(/(.)\1{3,}/.test($(this).val())) {
// Only allow next character if it isn't the same...
if (/(.)\1{4,}/i.test($(this).val() + String.fromCharCode(e.keyCode))) {
e.preventDefault();
}
}
});
答案 3 :(得分:0)
@Nandha,您可以避免使用jQuery:
var doc = document; //stuff runs faster when objects are in vars
(function() {
var flag=0;
doc.getElementById('txt').addEventListener('keydown', function(e) {
flag++;
if(flag>4) {
e.preventDefault();
}
});
doc.getElementById('txt').addEventListener('keyup', function(e) {
flag=0;
});
})();
<input type="text" id="txt" />