1,105,534 Community Members

how to check the format of input data while the user enteres data in text b

Member Avatar
ponnu
Light Poster
40 posts since Sep 2012
Reputation Points: 0 [?]
Q&As Helped to Solve: 0 [?]
Skill Endorsements: 0 [?]
 
0
 

I have vb form tht accepts user data.I need to check whether user enters emailid in the correct format ?Please provide suggestion .Thanks in advance

Member Avatar
rishif2
Posting Whiz in Training
284 posts since Dec 2012
Reputation Points: 57 [?]
Q&As Helped to Solve: 58 [?]
Skill Endorsements: 4 [?]
 
0
 

try this
first define a function

Private Function IsValidEmailAddress(ByVal sEmail As String, Optional ByRef sReason As String) As Boolean
   sEmail = LCase(Trim(sEmail))
   If Len(sEmail) < 7 Then
      sReason = "Too short"
   ElseIf sEmail Like "*[!0-9a-z@._+-]*" Then
      sReason = "Invalid character"
   ElseIf Not sEmail Like "*@*.*" Then
      sReason = "Missing the @ or ."
   ElseIf sEmail Like "*@*@*" Then
      sReason = "Too many @"
   ElseIf sEmail Like "[@.]*" Or sEmail Like "*[@.]" _
      Or sEmail Like "*..*" Or Not sEmail Like "?*@?*.*?" Then
      sReason = "Invalid format"
   Else
      Dim n As Integer
      n = Len(sEmail) - InStrRev(sEmail, ".")
      If n > 3 Then
         sReason = "Suffix too long"
      ElseIf n < 2 Then
         sReason = "Suffix too short"
      Else
         sReason = Empty
         IsValidEmailAddress = True
      End If
   End If
End Function

here call it (Normally On the lostfocus event)

Private Sub Text1_LostFocus()
Dim bool As Boolean, reason As String
bool = IsValidEmailAddress(Me.Text1.Text, reason)
If (bool <> True) Then
MsgBox reason
End If
End Sub

Hope this helps you . . .

Member Avatar
ponnu
Light Poster
40 posts since Sep 2012
Reputation Points: 0 [?]
Q&As Helped to Solve: 0 [?]
Skill Endorsements: 0 [?]
 
0
 

its showing error for proper format of email

Member Avatar
ponnu
Light Poster
40 posts since Sep 2012
Reputation Points: 0 [?]
Q&As Helped to Solve: 0 [?]
Skill Endorsements: 0 [?]
 
0
 

thank you for resolving :)kindly ignore the former message

Question Answered as of 1 Year Ago by rishif2
You
This question has already been solved: Start a new discussion instead
Post:
Start New Discussion
Tags Related to this Article