當前位置:編程學習大全網 - 編程語言 - 編程實現註冊郵箱的程序。

編程實現註冊郵箱的程序。

# include & ltstdio.h & gt

# include & ltstring.h & gt

int?格式檢查(char?*);

夏爾?*?SplitByAt(char?*?,int);

夏爾?*?CharsCheck(char?*);

#定義?n?1024

int?主()

{

夏爾?str[N],* field

memset(str,0x00,N);

scanf("%s ",str);

field=SplitByAt(str,N);

if(field==NULL)

{

printf(" NO \ n ");

回歸?-1;

}

不然呢?if(format check(str )& amp;& amp格式檢查(字段))

{

printf(" YES \ n ");

回歸?0;

}

其他

{

printf(" NO \ n ");

回歸?-1;

}

}

/**

*檢查域名/電子郵件格式。

*/

int?格式檢查(char?*str)

{

夏爾?* p;

for(;;)

{

p = chars check(str);

if(p==str)

{

回歸?0;

}

不然呢?if(*p=='\0 ')

{

回歸?1;

}

不然呢?if(*p!='.')

{

回歸?0;

}

p++;

str = p;

}

}?

/**

*檢查@是否可以分成兩段,返回域名的第壹個地址,如果不需要則返回NULL。

*參數:str、源字符串、長度、長度限制(反交叉)

*該函數將用' \0 '替換源字符串中的第壹個' @ ',郵箱和域名已被拆分。

*/

夏爾?*SplitByAt(char?*str,int?長度)

{

夏爾?*p=strchr(str,' @ ');

如果(p!= NULL & amp& amp(p-str)& lt;長度)

{

* p = 0;

p++;

回歸?p;

}

回歸?NULL

}

/**

*檢查str是否是連續的' a'-'z ',' A'-'Z ',' 0'-'9 '字符。

*返回值:第壹個不滿意字符的位置。

*例如:str="abc ",返回str+3;?Str="a#bc ",返回str+1;

*/

夏爾?*?CharsCheck(char?*str)

{

while((* str & gt;= ' a ' & amp& amp* str & lt='z')||

(* str & gt= ' A ' & amp& amp* str & lt='Z')||

(* str & gt= ' 0 ' & amp& amp* str & lt='9')||

*str=='_ ')

{

str++;

}

回歸?str

}要求沒有提到' _ '符號的特殊規則,所以郵件喜歡“_ _”。_ _ @ _”也可以驗證。

  • 上一篇:JAVA編程 金額轉換
  • 下一篇:求bad apple 與 unknown的歌詞(日文中文都可以)
  • copyright 2024編程學習大全網