Rabu, 16 September 2020

Vb.Net: Membatasi Input Textbox Alphanumeric


Klo sebelumnya Rani pernah membahas perihal bagaimana membuat input textbox berbentukangka saja (numeric only) nah sekarang bagaimana bila 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 menyertakan code handler pada event _TextChanged sebab ada kemungkinan user selain mengetikan eksklusif input ke textbox juga dapat melakukan copy paste. Karena itu fungsi StripNonAlphaNum dipakai untuk menggantikan abjad selain alphanumeric (dan spasi) dengan string kosong alias menghapus nya.

Jika kita run acara ini, maka kita hanya bisa mengetik aksara, angka, dan spasi saja.

Contoh lainya jika kita meng-copy paste You & Me @home ke textbox maka tampilan yang hendak dihasilkan selaku berikut:

Selamat mencoba supaya berguna.

Click here if you like this article.



Sumber http://rani-irsan.blogspot.com


EmoticonEmoticon

:)
:(
hihi
:-)
:D
=D
:-d
;(
;-(
@-)
:o
:>)
(o)
:p
:-?
(p)
:-s
8-)
:-t
:-b
b-(
(y)
x-)
(h)