如何防止用户使用jquery在同一个单词中重复三次以上的字符

时间:2013-12-25 07:19:35

标签: javascript jquery regex

如何防止用户在同一个单词中重复三次以上的字符 像这样:
“hiii”它可能,但是 “hiiii”文本框中没有可能的类型,指示符已停止。

我想要这样 site to add advertising 看看文本框:الإعلان*

你能帮助我吗?

我试过这段代码:

<input name="text1" type="text" class="mult">

var mult = false,prev = 0;
$('.mult').keydown(function(e) {
if (!mult) {
mult = true;
prev = e.which;
setTimeout(function() {
mult = false;
}, 10000)
}
else if (prev != e.which) {
mult = false;
}
else {
return false;
}
});

但这可以防止重复字符超时一次。 我想在没有时间的情况下防止用户在同一个单词中重复三次以上的字符。 我希望当用户键入文本并且他想在一个单词中重复该字符时指示符停止写入。

2 个答案:

答案 0 :(得分:2)

无需使用jQuery,您可以使用正则表达式来测试字符串。

if (/(.)\1{3,}/.test(str)) {
    console.log('Not possible');
} else {
    console.log('possible');
}

答案 1 :(得分:0)

对于jQuery,您可以使用:

$('. mult').keypress(function(){
  if (/(.)\1{2,}/.test($(this).val())) {
   return false;
  }
})

这里是工作示例:

$('.limitRepeaters').keypress(function(){
  if (/(.)\1{2,}/.test($(this).val())) {
   return false;
  }
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input class="limitRepeaters">