1: Boolean bOK = True
2: String strDomainType
3: String strDomainName
4: Integer i
5:
6: Constant String sInvalidChars = "!#$%^&*()=+{}[]|\;:'/?>,< "
7:
8: // if there double quote character
9: If Pos(sEmail, Char(34)) > 0 Then bOk = False
10: If Left(sEmail,1) = "." Or Right(sEmail,1) = "." Then bOK = False
11:
12: If bOK Then
13: // Check for invalid characters.
14: If Len(sEmail) > Len(sInvalidChars) Then
15: For i = 1 To Len(sInvalidChars)
16: If Pos(sEmail, Mid(sInvalidChars, i, 1)) > 0 Then
17: bOK = False
18: Exit
19: End If
20: Next
21: Else
22: For i = 1 To Len(sEmail)
23: If Pos(sInvalidChars, Mid(sEmail, i, 1)) > 0 Then
24: bOK = False
25: Exit
26: End If
27: Next
28: End If
29:
30: If bOK Then
31: //Check for an @ symbol
32: If Pos(sEmail, "@") > 1 Then
33: bOK = f_if(Len(Left(sEmail, Pos(sEmail, "@", 1) - 1)) > 0,True,False)
34: Else
35: bOk = False
36: End If
37:
38: If bOK Then
39: //Check to see if there are too many @'s
40: sEmail = Right(sEmail, Len(sEmail) - Pos(sEmail, "@"))
41: bOK = f_if(Pos(sEmail, "@") > 0, False, True)
42:
43: If bOK Then
44: strDomainType = Right(sEmail, Len(sEmail) - Pos(sEmail, "."))
45: bOK = f_if(Len(strDomainType) > 0 And Pos(sEmail, ".") < Len(sEmail), True, False)
46:
47: If bOK Then
48: sEmail = Left(sEmail, Len(sEmail) - Len(strDomainType) - 1)
49: Do Until Pos(sEmail, ".") <= 1
50: If Len(sEmail) >= Pos(sEmail, ".") Then
51: sEmail = Left(sEmail, Len(sEmail) - (Pos(sEmail, ".") - 1))
52: Else
53: bOK = False
54: Exit
55: End If
56: Loop
57: If bOK Then
58: If sEmail = "." Or Len(sEmail) = 0 Then bOK = False
59: End If
60: End If
61: End If
62: End If
63: End If
64: End If
65:
66: Return bOk
Here's the example to use this function
1: if f_isvalidemail('youremailaddress@domain.com') then
2: messagebox('','Valid')
3: else
4: messagebox('','Invalid')
5: end if
No comments:
Post a Comment