检测是否符合Email格式

150 篇文章 0 订阅

#include<iostream>

using namespace std;

int main()
{
 char sEmail[10];
 char *pAt = NULL;
 char *pDot = NULL;
 int  iAtFlg = 0;
 int  iDotFlg = 0;
 int  iLineNum = 1;
 
 cout << "Line Num : " << iLineNum;
 iLineNum ++;
 while(cin >> sEmail)
 {
  iAtFlg = 0;
  iDotFlg = 0;
  if (sEmail[0] == '@')
  {
   cout << "Error 1: First char is @" << endl;
   cout << endl << "Line Num : " << iLineNum << " ";
   iLineNum ++;
  }
  else
  {
   pAt = strchr(sEmail, '@');
   if (NULL == pAt)
   {
    cout << "Error 2: No @" << endl;
    cout << endl << "Line Num : " << iLineNum << " ";
    iLineNum ++;
   }
   else
   {
    pDot = strchr(sEmail, '.');
    if (NULL == pDot)
    {
     cout << "Error 3: No ." << endl;
     cout << endl << "Line Num : " << iLineNum << " ";
     iLineNum ++;
    }
    else
    {
     if(pDot - pAt <= 1)
     {
      cout << "Error 4: @ next is ." << endl;
      cout << endl << "Line Num : " << iLineNum << " ";
      iLineNum ++;
     }
     else
     {
      if ('\0' == *(pDot + 1))
      {
       cout << "Error 5: Last char is ." << endl;
       cout << endl << "Line Num : " << iLineNum << " ";
       iLineNum ++;
      }
      else
      {
       cout << "Email " << sEmail << "is an legitimate" << endl;
      }
      
     }
    }

   }
   
  }

 }
 return 0;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值