2012-10-15 277 views
1

我正在使用此脚本来禁止用户将| < >/\ : * ? \ " ^插入到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> 

回答

2

它不起作用,因为您声明了它不正确。

改变这种

<script type="text/jscript"> 

正确的:

<script type="text/javascript"> 

也可以忽略完全以JavaScript类型是默认的:

<script> 
+1

谢谢,简直不敢相信它那么简单。 – user1747049

1

Asside从什么scunliffe张贴,这可能不是你想要的:

if (!regex.test(key) == false) 
    --^--     --^-- 

你否定了两次。也许你想要这个:

if (!regex.test(key)) 

这样做更有意义。 test是虚假的,所以没有必要与布尔进行比较。

相关问题