ÿþ 
  
 < ! - -   O r i g i n a l :     S a n d e e p   V .   T a m h a n k a r     - - >  
 < ! - -   m o d :     W i l h e l m   J a n s e n   - - >  
  
 < ! - -   B e g i n  
  
 f u n c t i o n   e m a i l C h e c k   ( e m a i l S t r )   {  
 	  
  
  
 / /   T e s t   c o u n t r y   o d e r   T L D .  
 / /     1   f ü r   t e s t e n ,   0   n i c h t   t e s t e n  
 v a r   c h e c k T L D = 0 ;  
  
 / /   T L D s   L i s t e  
 v a r   k n o w n D o m s P a t = / ^ ( c o m | n e t | o r g | e d u | i n t | m i l | g o v | a r p a | b i z | a e r o | n a m e | c o o p | i n f o | p r o | m u s e u m ) $ / ;  
  
 / /   u s e r @ d o m a i n   f o r m a t  
 v a r   e m a i l P a t = / ^ ( . + ) @ ( . + ) $ / ;  
  
 / /   L i s t e   z e i c h e n   (   )   <   >   @   ,   ;   :   \   "   .   [   ]  
 v a r   s p e c i a l C h a r s = " \ \ ( \ \ ) > < @ , ; : \ \ \ \ \ \ \ " \ \ . \ \ [ \ \ ] " ;  
 v a r   v a l i d C h a r s = " \ [ ^ \ \ s "   +   s p e c i a l C h a r s   +   " \ ] " ;  
  
 / /   i n   A n f ü h r u n g s z e i c h e n ?   ( d a n n   s i n d   s p e c i a l   c h a r a k t e r s   e r l a u b t )  
 v a r   q u o t e d U s e r = " ( \ " [ ^ \ " ] * \ " ) " ;  
  
 / /   d o m a i n s   m i t   I P   a d d r e s s e n  
  
 v a r   i p D o m a i n P a t = / ^ \ [ ( \ d { 1 , 3 } ) \ . ( \ d { 1 , 3 } ) \ . ( \ d { 1 , 3 } ) \ . ( \ d { 1 , 3 } ) \ ] $ / ;  
  
 v a r   a t o m = v a l i d C h a r s   +   ' + ' ;  
 v a r   w o r d = " ( "   +   a t o m   +   " | "   +   q u o t e d U s e r   +   " ) " ;  
 v a r   u s e r P a t = n e w   R e g E x p ( " ^ "   +   w o r d   +   " ( \ \ . "   +   w o r d   +   " ) * $ " ) ;  
 v a r   d o m a i n P a t = n e w   R e g E x p ( " ^ "   +   a t o m   +   " ( \ \ . "   +   a t o m   + " ) * $ " ) ;  
 v a r   m a t c h A r r a y = e m a i l S t r . m a t c h ( e m a i l P a t ) ;  
  
 i f   ( m a t c h A r r a y = = n u l l )   {  
  
 / /   t e s t   A n z a h l   d e r   @  
  
     a l e r t ( " E m a i l - A d r e s s   i s t   u n g ü l t i g   ( p r ü f e n   S i e   @   u n d   P u n k t e ) " ) ;  
 r e t u r n   f a l s e ;  
 }  
 v a r   u s e r = m a t c h A r r a y [ 1 ] ;  
 v a r   d o m a i n = m a t c h A r r a y [ 2 ] ;  
  
 / /   t e s t   g ü l t i g e   A S C I I   c h a r a c t e r s   ( 0 - 1 2 7 ) .  
  
 f o r   ( i = 0 ;   i < u s e r . l e n g t h ;   i + + )   {  
 i f   ( u s e r . c h a r C o d e A t ( i ) > 1 2 7 )   {  
 	 a l e r t ( " U s e r n a m e   h a t   u n g ü l t i g e   Z e i c h e n   ! " ) ;  
 r e t u r n   f a l s e ;  
       }  
 }  
 f o r   ( i = 0 ;   i < d o m a i n . l e n g t h ;   i + + )   {  
 i f   ( d o m a i n . c h a r C o d e A t ( i ) > 1 2 7 )   {  
 	 a l e r t ( " D o m a i n n a m e   h a t   u n g ü l t i g e   Z e i c h e n   ! " ) ;  
 r e t u r n   f a l s e ;  
       }  
 }  
  
  
 i f   ( u s e r . m a t c h ( u s e r P a t ) = = n u l l )   {  
  
 / /   u s e r   n i c h t   O K  
  
 a l e r t ( " U s e r n a m e   i s t   u n g ü l t i g   ! " ) ;  
 r e t u r n   f a l s e ;  
 }  
  
 / /   I P   a d d r e s s e   O K   ?  
  
 v a r   I P A r r a y = d o m a i n . m a t c h ( i p D o m a i n P a t ) ;  
 i f   ( I P A r r a y ! = n u l l )   {  
  
 / /   e s   h a n d e l t   s i c h   u m   e i n e   I P - A d r e s s e  
  
 f o r   ( v a r   i = 1 ; i < = 4 ; i + + )   {  
 i f   ( I P A r r a y [ i ] > 2 5 5 )   {  
       a l e r t ( " E m p f ä n g e r   I P - A d r e s s e   i s   u n g ü l t i g   ! " ) ;  
 r e t u r n   f a l s e ;  
       }  
 }  
 r e t u r n   t r u e ;  
 }  
  
 / /   D o m a i n   i s t   e i n   " s y m b o l i c   n a m e " ,     g ü l t i g   ?  
  
 v a r   a t o m P a t = n e w   R e g E x p ( " ^ "   +   a t o m   +   " $ " ) ;  
 v a r   d o m A r r = d o m a i n . s p l i t ( " . " ) ;  
 v a r   l e n = d o m A r r . l e n g t h ;  
 f o r   ( i = 0 ; i < l e n ; i + + )   {  
 i f   ( d o m A r r [ i ] . s e a r c h ( a t o m P a t ) = = - 1 )   {  
     a l e r t ( " D o m a i n n a m e   i s t   u n g ü l t i g   ! " ) ;  
 r e t u r n   f a l s e ;  
       }  
 }  
  
 / *  
 d o m a i n   n a m e   v a l i d ,   t e s t e n   b e k a n n t e   t o p - l e v e l   d o m a i n  
 h o s t n a m e   v o r a n g e s t e l l t   ?  
 * /  
  
 i f   ( c h e c k T L D   & &   d o m A r r [ d o m A r r . l e n g t h - 1 ] . l e n g t h ! = 2   & &  
 d o m A r r [ d o m A r r . l e n g t h - 1 ] . s e a r c h ( k n o w n D o m s P a t ) = = - 1 )   {  
     a l e r t ( " E m a i l   A d r e s s e   m u s s   m i t   b e k a n n t e r   D o m a i n   ( T L D )   o d e r   2   Z e i c h e n   e n d e n   ! " ) ;  
 r e t u r n   f a l s e ;  
 }  
  
 / /   h o s t n a m e   v o r a n g e s t e l l t   ?  
  
 i f   ( l e n < 2 )   {  
     a l e r t ( " h o s t n a m e   f e h l t ! " ) ;  
 r e t u r n   f a l s e ;  
 }  
  
 / /   h i e r   a n g e k o m m e n   i s t   a l l e s   O K  
 r e t u r n   t r u e ;  
 }  
 / /     E n d   - - >  
 
