我正在使用此脚本禁止用户将| < > / \ : * ? \ " ^
插入到aspx c#网站上表单的输入框中。但是这仅适用于IE或Chrome。我想知道是否有人能够提供有关为什么它不能在Firefox中工作的见解?
<script type="text/jscript">
$('input').bind('keypress', function(event) {
var regex = new RegExp("[|<>/\\\\:*?\"^]");
var key = String.fromCharCode(!event.charCode ? event.which : event.charCode);
if (!regex.test(key) == false) {
event.preventDefault();
alert("Seach cannot contain the following characters: \n \\ / : * ? \" < > |");
return false;
}
});
</script>
答案 0 :(得分:2)
它不起作用,因为你已经错误地声明了它。
更改此
<script type="text/jscript">
正确:
<script type="text/javascript">
或者您可以完全省略该类型,因为JavaScript是默认类型:
<script>
答案 1 :(得分:1)
根据 scunliffe 发布的内容,这可能不是您想要的:
if (!regex.test(key) == false)
--^-- --^--
你否定了两次。也许你想要这个:
if (!regex.test(key))
这更有意义。 test
是假的,因此无需与bool进行比较。