现有一个问题就是在keypress 事件中写一个JS方法 判断输入的字符是否是数字,如果是数字就弹出一个真值(true),如果不是数字就弹出一个假值(falas)。在IE浏览器能够正常实现,在火狐浏览器里面不能实现。具体代码如下   <asp:TextBox ID="txtCPSL" runat="server" Width="55px" onKeypress="javascript:alert(/[\d]/g.test(String.fromCharCode(event.keyCode)));"
                                                            Style="text-align: center; ime-mode: Disabled; text-align: center" AutoPostBack="true"
                                                           ></asp:TextBox>
请各位大虾指教,小弟在此谢过!!!

解决方案 »

  1.   


    alert(/[\d]/g.test(String.fromCharCode(event.which||event.KeyCode)));
      

  2.   

    event.which是Firefox和Opera的
    event.KeyCode是IE用的
      

  3.   

    最好用:  /^\d+$/.test(str)PS:你的问题和正则木有关系
      

  4.   

    我把代码给给了一下  
    <asp:TextBox ID="txtCPSL" runat="server" Width="55px" onKeypress="return (/[\d]/g.test(String.fromCharCode(event.which||event.keyCode)));"
       Style="text-align: center; ime-mode: Disabled; text-align: center" AutoPostBack="true"
       ></asp:TextBox>
    这样能实现只输入数字的效果,但是在火狐里面不能删除已经输入的内容。
      

  5.   

    <input type="text" onKeypress="return (/[\d]/g.test(String.fromCharCode(event.which||event.keyCode)));" />
    我在本地测试了下  没有问题啊  
    IE8 --- OK
    chrome -- OK
    FF10.0 -- OK你先关掉浏览器  再试验下看看
      

  6.   

    还有当你切换输入法的时候   onkeypress就没有用啦  这个你要好好考虑哦
      

  7.   

    event.which||event.keyCode||event.charCode
    试试这个行不行  再加一个
      

  8.   

    难不成FF没启js。。  如果不是我就不知道了哦
      

  9.   

    不是的,FF启用了JS但是就是不成功