2013-04-30 77 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 
相關問題