C语言验证邮箱
- 提问者网友:遮云壑
- 2021-02-07 09:09
正确邮箱要求(非严格):必须有"."和"@"并且"@"只能有一个,"."可以有一个或两个,"."和"@"的位置要正确。
- 五星知识达人网友:话散在刀尖上
- 2021-02-07 10:11
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;
}
- 1楼网友:梦中风几里
- 2021-02-07 10:38
#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; }