1: function checkValidation(emailAddr) {
2: var message = 'OK';
3: if (stringEmpty(emailAddr)) {
4: message = "Error! There is no input value entered.";
5: } else if (noAtSign( emailAddr )) {
6: message = "Error! The address \"" + emailAddr + "\" does not contain an '@' character.";
7: } else if (nothingBeforeAt(emailAddr)) {
8: message = "Error! The address \"" + emailAddre;
9: message += "\" must contain at least one character before the '@' character";
10: } else if (noLeftBracket(emailAddr)) {
11: message = "Error! The address \"" + emailAddr;
12: message += "\" contains a right square bracket ']',\nbut no corresponding left square bracket '['.";
13: } else if (noRightBracket(emailAddr)) {
14: message = "Error! The address \"" + emailAddr;
15: message += "\" contains a left square bracket '[',\nbut no corresponding right square bracket ']'.";
16: } else if (noValidPeriod(emailAddr)) {
17: message = "Error! The address \"" + emailAddr + "\" must contain a period ('.') character.";
18: } else if (noValidSuffix(emailAddr)) {
19: message = "Error! The address \"" + emailAddr;
20: message += "\" must contain a two, three or four character suffix.";
21: }
22: return (message);
23: }
24:
25: function checkEmailValid (formField) {
26: if( checkValidation(formField) == 'OK')
27: return true;
28: return false;
29: }
30:
31: function stringEmpty (formField) {
32: // CHECK THAT THE STRING IS NOT EMPTY
33: if ( formField.length < 1 ) {
34: return ( true );
35: } else {
36: return ( false );
37: }
38: }
39:
40: function noAtSign (formField) {
41: // CHECK THAT THERE IS AN '@' CHARACTER IN THE STRING
42: if (formField.indexOf ('@', 0) == -1) {
43: return ( true )
44: } else {
45: return ( false );
46: }
47: }
48:
49: function nothingBeforeAt (formField) {
50: // CHECK THERE IS AT LEAST ONE CHARACTER BEFORE THE '@' CHARACTER
51: if ( formField.indexOf ( '@', 0 ) < 1 ) {
52: return ( true )
53: } else {
54: return ( false );
55: }
56: }
57:
58: function noLeftBracket (formField) {
59: // IF EMAIL ADDRESS IN FORM 'user@[255,255,255,0]', THEN CHECK FOR LEFT BRACKET
60: if ( formField.indexOf ( '[', 0 ) == -1 && formField.charAt (formField.length - 1) == ']') {
61: return ( true )
62: } else {
63: return ( false );
64: }
65: }
66:
67: function noRightBracket (formField) {
68: // IF EMAIL ADDRESS IN FORM 'user@[255,255,255,0]', THEN CHECK FOR RIGHT BRACKET
69: if (formField.indexOf ( '[', 0 ) > -1 && formField.charAt (formField.length - 1) != ']') {
70: return ( true );
71: } else {
72: return ( false );
73: }
74: }
75:
76: function noValidPeriod (formField) {
77: // IF EMAIL ADDRESS IN FORM 'user@[255,255,255,0]', THEN WE ARE NOT INTERESTED
78: if (formField.indexOf ( '@', 0 ) > 1 && formField.charAt (formField.length - 1 ) == ']')
79: return ( false );
80:
81: // CHECK THAT THERE IS AT LEAST ONE PERIOD IN THE STRING
82: if (formField.indexOf ( '.', 0 ) == -1)
83: return ( true );
84:
85: return ( false );
86: }
87:
88: function noValidSuffix(formField) {
89: // IF EMAIL ADDRESS IN FORM 'user@[255,255,255,0]', THEN WE ARE NOT INTERESTED
90: if (formField.indexOf('@', 0) > 1 && formField.charAt(formField.length - 1) == ']') {
91: return ( false );
92: }
93:
94: // CHECK THAT THERE IS A TWO OR THREE CHARACTER SUFFIX AFTER THE LAST PERIOD
95: var len = formField.length;
96: var pos = formField.lastIndexOf ( '.', len - 1 ) + 1;
97: if ( ( len - pos ) < 2 || ( len - pos ) > 4 ) {
98: return ( true );
99: } else {
100: return ( false );
101: }
102: }