Help with controlling data entered in a Textbox

Hi,

I have several Textboxes which data needs to be entered in a certain format.

For examplem how do I force users to enter data in the folloing format?

xx,xxxx - Numbers only, 7 characters long

and check to see if the data was enteres in the proper format. I am using VB.NET code.

Thanks,

Victor
vcharlesAsked:
Who is Participating?

Improve company productivity with a Business Account.Sign Up

x
 
CmdoProg2Connect With a Mentor Commented:
The masked edit extender from the ajax controls toolkit is an option.  You can also try using a standard regular expression validator:

 
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        <br />
        <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="TextBox1" 
            Display="Dynamic" ErrorMessage="Required"></asp:RequiredFieldValidator>
        <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" 
            ErrorMessage="Invalid Format (xx,xxx)" ValidationExpression="\d{2},\d{3}" ControlToValidate="TextBox1" 
            Display="Dynamic"></asp:RegularExpressionValidator>
        <asp:Button ID="Button1" runat="server" Text="Button" />

Open in new window


Or in the code behind, use a Regex object:

Dim rx As New Regex("\d{2},\d{3}")
    If rx.IsMatch(TextBox1.Text) Then
      ' place code here when in correct formae
    End If

Open in new window

0
 
nepaluzCommented:
First, you can set a mask for your textbox then add handlers to ensure only numbers are entered
0
 
nepaluzCommented:
Here is a handler for the KeyPress event to use for your textbox named TextBox1
Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) 'Handles TextBox1.KeyPress
        e.Handled = TrapKey(CStr(Asc(e.KeyChar)))
End Sub

Open in new window

This calls the following function on every keypress
Private Function TrapKey(ByVal KCode As String) As Boolean
    If (CDbl(KCode) >= 48 And CDbl(KCode) <= 57) Or {8, 46, 44, 127, 45}.Contains(CInt(KCode)) Then
        TrapKey = False
    Else
        TrapKey = True
    End If
End Function

Open in new window

0
What Kind of Coding Program is Right for You?

There are many ways to learn to code these days. From coding bootcamps like Flatiron School to online courses to totally free beginner resources. The best way to learn to code depends on many factors, but the most important one is you. See what course is best for you.

 
vcharlesAuthor Commented:
Sorry, I don't quiet follow your code. How does it force the users to enter the data in the following format. 67,8978?
0
 
nepaluzCommented:
Like I said before, apply a mask to your textbox aka use a masked texbox and the code above only ensures that the only data allowed to be entered is numerical.

0
 
vcharlesAuthor Commented:
I Just checked all the properties of my Textbox and can't find a property the mask the textbox. Are you referring to another control similar to the reguklar textbox?
0
 
nepaluzCommented:
be right back ....
0
 
vcharlesAuthor Commented:
Help!
0
 
Dale BurrellDirectorCommented:
nepaluz was referring to windows forms.net, not asp.net. There are many components out there which do the same thing for asp.net though, 3 follow... does this help?

http://www.codeproject.com/KB/edit/MaskTextBox.aspx
http://www.codeproject.com/KB/aspnet/Xtended_TextBox.aspx?q=masked+textbox+asp.net
http://www.codeproject.com/KB/aspnet/MaskingText_for_ASPNET.aspx?q=masked+textbox+asp.net

I haven't used one myself so I can't comment on specifics.
0
 
vcharlesAuthor Commented:
Thank You All for all your Help!
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.