Accept only numbers in a text field

Often, to ensure that users enter only numbers in a text field,
you'll want to validate the text as they enter it. The textbox's
Change() event provides the best place to do so. However, simply
using the IsNumeric() function alone won't do the trick. For
instance, suppose you created the following procedure

Private Sub Text1_Change()
If Not IsNumeric(Text1.Text) Then
    Text1.Text = ""
End If


Under these circumstances, if the user entered the number -333,
the control wouldn't accept it because the beginning dash isn't
a number. Instead, consider using the following function

Private Sub Text1_Change()
If Not ValidateNumeric(Text1.Text) Then
    Text1.Text = ""
End If
End Sub

Private Function ValidateNumeric(strText As String) _
    As Boolean
ValidateNumeric = CBool(strText = "" _
    Or strText = "-" _
    Or strText = "-." _
    Or strText = "." _
    Or IsNumeric(strText))
End Function

You might also like...

Comments

ElementK Journals

Contribute

Why not write for us? Or you could submit an event or a user group in your area. Alternatively just tell us what you think!

Our tools

We've got automatic conversion tools to convert C# to VB.NET, VB.NET to C#. Also you can compress javascript and compress css and generate sql connection strings.

“We better hurry up and start coding, there are going to be a lot of bugs to fix.”