2013-04-30 79 views
0

我必须创建一个将忽略所有非数字输入的文本框。 我试图用这个代码,我在这个网站如何限制texbox只接受数字和退格?

Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress 
      e.Handled = Not Char.IsDigit(e.Keychar) 
End Sub 

发现,但我必须在代码System.Windows.Forms.KeyPressEventArgs

我在做什么错,这部分的错误呢?

+0

你的代码是的WinForms,ASP.NET没有。在ASP.NET中,您必须使用客户端脚本来限制文本框输入,或者处理每个按键的回发事件(提示:不要这样做)。 – Dai 2013-04-30 06:10:29

+0

这将不允许backspace.Better使用正则表达式为您的案件。 – MahaSwetha 2013-04-30 06:11:43

+0

以及如何限制它在asp? – meks 2013-04-30 06:12:00

回答

0

使用此代码隐藏

if(Regex.IsMatch(yourStringToValidate,"^[a-zA-Z0-9\\\$]+$") 
{ 
    //Place your msg 
} 
else 
{ 
//Place your validation msg 
} 
0

尝试使用MaskedTextBox并设置面膜SOM e这样的事情:

maskedTextBox1.Mask = "\d*"; 
0

这段代码应该放在html的head部分。

我已经使用jQuery库验证目的

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 

<script type="text/javascript"> 
     $(document).ready(function() { 
     $('#mytext').keydown(function(e) { 

       if (e.shiftKey) e.preventDefault(); 
       else { 
        var nKeyCode = e.keyCode; 
        //Ignore Backspace and Tab keys 
        if (nKeyCode == 8 || nKeyCode == 9) return; 
        if (nKeyCode < 95) { 
         if (nKeyCode < 48 || nKeyCode > 57) e.preventDefault(); 
        } else { 
         if (nKeyCode < 96 || nKeyCode > 105) e.preventDefault(); 
        } 
       } 

      }); 
     }); 

    </script> 

HTML代码

<input type="text" id="mytext"> 
1

希望这有助于

Sub btnDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles MyBase.KeyPress 

    if e.KeyChar= Chr(8) 
     'do something for backspace 
    else if e.KeyChar=(CHr(13) 
     'do something for enter 
    end if 
    end sub 
相关问题