C++ Email 验证

 1 BOOL IsValidEmail( const CString& email )
 2 {
 3     int pos = 0;
 4     int countAt = 0;
 5     int posAt = 0;
 6     int posPoint = 0;
 7     for(;pos<email.GetLength();pos++){
 8         if(::isspace(email[pos])){
 9             return FALSE;
10         }
11         if(_T('@') == email[pos]){
12             countAt++;
13             posAt = pos;
14         }
15         if(_T('.') == email[pos]){
16             posPoint = pos;
17         }
18     }
19     if(countAt != 1 || posAt == 0){
20         return FALSE;
21     }
22     if(posPoint-posAt<0 || email.GetLength()-1==posPoint){
23         return FALSE;
24     }
25 
26     return true;
27 }

上面方法不是很严谨,但已经可以应付大多数情况。

正则表达式验证EMail:

1 /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/

 

 

posted @ 2013-10-24 13:10  ssp1024  阅读(411)  评论(0编辑  收藏  举报