<asp:TextBox onkeypress= "isnum()" id= "TextBox6" runat= "server" Width="55px" OnTextChanged="TextBox6_TextChanged" MaxLength="2"></asp:TextBox> 
                  <script type="text/javascript"> 
                     function  isnum() 
                         { 
                           if(event.keyCode<=47 ||event.keyCode>= 58) 
                           { 
                             event.keyCode=0; 
                           } 
                         }                                                           
                  </script> 
此段代码能够过滤英文输入法状态下输入的字母,但不能过滤汉字及在中文输入法状态下敲击字母再按回车输入的字母。
请高手指教!

解决方案 »

  1.   

    用JS弄一个正则就可以了:
    onkeyup="javascript:this.value = this.value.replace(/[^\d]/g,'');"
    [^\d] 即表示除数字之外的所有字符,/g (global) 替换所有你还可以加个Tips提示下用户:ToolTip="只允许输入整数" 这样人性化一点
      

  2.   

    验证控件:"^[0-9]*$"
    过滤
    onkeyup='value=value.replace(/[^d]/g,'') 'onbeforepaste='clipboardData.setData('text',clipboardData.getData('text').replace(/[^d]/g,''))'
    $(function() {
    $("#txtValue").keypress(function(event) {
    if (!$.browser.mozilla) {
    if (event.keyCode && (event.keyCode < 48 || event.keyCode > 57) && event.keyCode != 46) {
    event.preventDefault();
    }
    } else {
    if (event.charCode && (event.charCode < 48 || event.charCode > 57) && event.keyCode != 46) {
    event.preventDefault();
    }
    }
    });
      

  3.   

    <input onkeyup="value=value.replace(/[^d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"> 
      

  4.   

    <input onkeyup="value=value.replace(/[^\d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))">  
     
     
      

  5.   

    你在网上随便找一个相关的javascript 正则表达式。
      

  6.   


    <head runat="server">
        <title>测试正则</title>
        <script type="text/javascript">         
            function IsOK(obj) 
            { 
                var strText =document.getElementById('txtText').value;
                //var pattern =/^[\w|(\u4e00-\u9fa5)|_]{1,49}$/;//数字 字母 汉字 下划线
                var pattern =/^[0-9]{1,49}$/;//数字
                  flag = pattern.test(strText); 
                if(flag) 
                { 
                    alert("Your text is correct!");
                    //document.write("匹配") 
                    return true; 
                } 
                else 
                { 
                    alert("Please try again!"); 
                    //document.write("不匹配");
                    return false; 
                } 
            }     </script>
    </head>
    <body>
        <form id="form1" action="TestRegex.aspx" onsubmit="return IsOK(this);">
        <div>
        
            <input id="txtText" name="txtText" type="text" />
            <input type="submit" id="submit"  value="提交" />
        </div>
            
        </form>
    </body>
    </html>
      

  7.   

     <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
                                                            <ajaxToolkit:FilteredTextBoxExtender ID="FilteredTextBoxExtender1" runat="server"
                                                                FilterType="Numbers" TargetControlID="TextBox1">
                                                            </ajaxToolkit:FilteredTextBoxExtender>
    第三方控件……