Klo sebelumnya Rani pernah membahas tentang bagaimana membuat input textbox berupa angka saja (numeric only) nah sekarang bagaimana kalau input textbox hanya berupa angka, alphabet (huruf) dan spasi aja yang diperbolehkan? Atow bahasa keren nya Alphanumeric only.
Mari kita lihat sample berikut, untuk UI cukup form berisi textbox aja.
Code
Public Class Form1
Private Sub TextBox1_KeyPress(ByVal sender As Object, _
ByVal e As System.Windows.Forms.KeyPressEventArgs) _
Handles TextBox1.KeyPress
If Char.IsLetterOrDigit(e.KeyChar) = False Then
If e.KeyChar = CChar(ChrW(Keys.Back)) Or _
e.KeyChar = CChar(ChrW(Keys.Space)) Then
e.Handled = False
Else
e.Handled = True
End If
End If
End Sub
Private Function StripNonAlphaNum(ByRef sText As String) As String
Dim strRegex As String = "[^a-zA-Z0-9 -]"
Dim rgx As New System.Text.RegularExpressions.Regex(strRegex)
Return rgx.Replace(sText, "")
End Function
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles TextBox1.TextChanged
TextBox1.Text = StripNonAlphaNum(TextBox1.Text)
End Sub
End Class
Rani menambahkan code handler pada event _TextChanged karena ada kemungkinan user selain mengetikan langsung input ke textbox juga dapat melakukan copy paste. Karena itu fungsi StripNonAlphaNum digunakan untuk menggantikan karakter selain alphanumeric (dan spasi) dengan string kosong alias menghapus nya.
Jika kita run program ini, maka kita hanya bisa mengetik huruf, angka, dan spasi saja.
Contoh lainya jika kita meng-copy paste You & Me @home ke textbox maka tampilan yang akan dihasilkan sebagai berikut:
Selamat mencoba semoga bermanfaat.
Click here if you like this article.
0 Comments