永发信息网

C语言验证邮箱

答案:2  悬赏:10  手机版
解决时间 2021-02-07 23:17
如题:用C语言(基础C,不是C++)验证正确的邮箱格式,因为没有正则表达式,也没有太好使的字符串函数,所以请大家一起研究一下算法~
正确邮箱要求(非严格):必须有"."和"@"并且"@"只能有一个,"."可以有一个或两个,"."和"@"的位置要正确。
最佳答案
算法并不是很难~
bool fun(char *addr,int len){
int atc=0,ptc=0;
for(int i=0;i
if(str[i]=='@'){
if(atc==1){return false}
atc++;
}else if(str[i]=='.'){
if(atc==0)return false;
if(atc==1)ptc++;
if(ptc==2)return false;
}

}
return true;

}
全部回答

#include <stdio.h> #include <stdlib.h> #include <string.h> int main(void) {  char id[20];  char place[10],year[10],month[10],day[10];  int ret=0;  int i,j=0,k=0,l=0,m=0;  gets(id);  if(strlen(id) != 18)  {   ret = 1;  }  for(i=0;i<(int)strlen(id);i++)  {   if(id[i] < '0' || id[i] > '9')   {    ret = 1;   }   if(i <= 5)   {    place[j++] = id[i];   }   if(i >= 6 && i <= 9)   {    year[k++] = id[i];   }   if(i >= 10 && i <= 11)   {    month[l++]= id[i];   }   if(i >= 12 && i <= 13)   {    day[m++] = id[i];   }  }  place[j] = '\0';  year[k] = '\0';  month[l] = '\0';  day[m] = '\0';  if(strcmp(place,"110223") != 0)  {   ret = 1;  }  if(atoi(year) < 1985 || atoi(year) > 2010)  {   ret = 1;  }  if(atoi(month) < 1 || atoi(month) > 12)  {   ret = 1;  }  if(atoi(day) < 1 || atoi(day) > 12)  {   ret = 1;  }  if(ret)  {   printf("身份验证失败!\n");  }  else  {   printf("身份验证通过!\n");  }  return 0; }

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
红竹花坊(体育馆门口)地址在什么地方,我要处
白石桥怎么去啊,有知道地址的么
青春追梦曲的资源
怎么看签证是否通过
美白沐浴露哪种牌子有效果
汕头市马滘街道办我想知道这个在什么地方
南京一中初中部和弘光中学哪个更好
WWW类和WWWForm类是否能够取代HttpWebRequest
下列哪项不是外感风寒头痛的主症:A.头痛时作
星际穿越中女孩破译的留下什么意思
睡觉前喝一点红酒有好处么?
天馨庆典鲜花礼仪中心地址在什么地方,我要处
安丘市景芝镇永和村村民委员会地址在哪,我要
空气刘海假片使用步骤
七彩花艺(简尚鲜花)地址在什么地方,我要处理
推荐资讯
【基因工程育种】...单倍体育种、多倍体育种
交通问题 T型路口直行两车道左边是l转向行驶
大学发的毕业证书还需要去学信网上认证吗 是
【采菊东篱下的下一句】采菊东篱下,下一句是
普通手机如何用电信的电话卡?
雷特房车服务有限公司地址在什么地方,我要处
重庆比艺格机械制造厂地址在什么地方,想过去
浦东新区是上海的一个行政区域吗?陆家嘴呢?
如何能挽回一个为自己打胎的女朋友短信
【猫郑振铎】猫郑振铎为什么重点写第三只猫?
某小区进行物业管理招标的评标工作,成立的评
取个好听的卤肉店名
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?