function  f_Ondocumentready()  
{  
           attachEvent("onkeydown",f_onkeydown)  
}  是多余的!

解决方案 »

  1.   

    代码没错,只是event.keyCode的值和ascii的值不匹配,因为有换档,你自己alert一下char和String.fromCharCode(char)就知道了,还有这个用正在做比较好,匹配字符集的范围就可以了,比如
    /[!-#]/匹配!"#,找到ascii的值就可以了
      

  2.   

    cloudchen一语惊醒梦中人,多谢!
    怎把正则给忘了!(太长时间没用了:)
      

  3.   

    function filterInput(char)
    {
      var re = /([A-Z]|[a-z]|[1-9]|#|%|×|<|>|'|"|%|&)/g;
      value = value.replace(re,"");
    }
      

  4.   

    指出一个gen2的代码中一个严重BUG:
    用onkeydown是极不保险的,而且未必总是正确,比如我不按键盘,让你的onkeydown空忙一场,我在别处输入了然后粘贴近来,或者从页面的其他地方拖进来。建议:改onkeydown为onpropertychange,然后加event.propertyName=="value"判断。
      

  5.   

    多做些工夫吧,onpropertychange也是危险的