【发布时间】:2017-07-03 07:34:54
【问题描述】:
我正在使用此代码来避免用户连续重复一个字符超过 3 次(“bbb”、“ddd”左右......):
$('.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">
现在我希望用户能够将“句号”字符重复三次(...)所以我尝试了:
$('.limitRepeaters').keypress(function(e){
var code = e.keyCode || e.which;
if ((/(.)\1{2,}/.test($(this).val())) && (code != '190')) {
return false;
}
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input class="limitRepeaters">
但这似乎不起作用。有什么想法吗?
编辑
我现在遇到了问题。实际上,当用户在写“...”后输入字母时,他没有输入 190 键码,因此需要将 190 键码添加到正则表达式本身。知道怎么做吗?
【问题讨论】:
-
您的点是包括点在内的任何字符。如果您需要使用点本身,请转义它