我需要jquery或javascript正则表达式来验证表单文本框,这样如果任何人将输入多次相同的特殊字符,则会生成警报。
例如 你好吗?? 要么 你好吗.... 要么 你好吗@@ ?? ??
请注意我需要阻止“多次”使用特殊字符我不想阻止单个特殊字符。如果需要发送“你好,你好吗?”它应该继续。
谢谢,
[更新] 我得到了最终结果
要验证我们可以使用的所有特殊字符的表单文本框
/(?! )(\W)\1+/
要验证一些特殊字符,我们可以使用
/([@#$%])\1+/;
在 []
中添加或删除特殊字符答案 0 :(得分:0)
尝试相反:接受输入,过滤掉你想要的所有字符,看看“其余”的长度是否大于或等于2。
答案 1 :(得分:0)
假设特殊字符不是字母,数字和空格,这个正则表达式应该有效:
/(?! )(\W)\1+/
答案 2 :(得分:0)
在提交事件时,请确保文本框中没有无效字符。您可以阻止通过处理程序中的return
false
提交。
HTML:
<input type='text' id='yourTextboxID' />
<input type='submit' id='submitButton' value='Submit' />
JS:
document.getElementById('submitButton').onclick = function () {
var enteredValue = document.getElementById('yourTextboxID').value;
if (enteredValue.test(/[!@#$%^&*()]+/)) {
alert('Bad characters!');
return false;
}
return true;
};
如果您愿意,可以修改和测试正则表达式here。