C语言编程,给定一个Email地址,判断其是否合法
#includestdio.h
#includestring.h
int FormatCheck(char *);
char * SplitByAt(char * ,int);
char * CharsCheck(char *);
#define N 1024
int main()
{
char str[N],*field;
memset(str,0x00,N);
scanf("%s",str);
field=SplitByAt(str,N);
if(field==NULL)
{
printf("NO\n");
return -1;
}
else if(FormatCheck(str)FormatCheck(field))
{
printf("YES\n");
return 0;
}
else
{
printf("NO\n");
return -1;
}
}
/**
*校验域名/邮箱格式
*/
int FormatCheck(char *str)
{
char *p;
for(;;)
{
p=CharsCheck(str);
if(p==str)
{
return 0;
}
else if(*p=='\0')
{
return 1;
}
else if(*p!='.')
{
return 0;
}
p++;
str=p;
}
}
/**
*校验是否可用@分割为两段,返回域名首地址,不合要求返回NULL
*参数:str,源字符串,length,长度限制(防越界)
*函数会用'\0'代替源字符串第一个'@',已完成邮箱,域名分割.
*/
char *SplitByAt(char *str,int length)
{
char *p=strchr(str,'@');
if(p!=NULL(p-str)length)
{
*p=0;
p++;
return p;
}
return NULL;
}
/**
*校验str是否为连续的'a'-'z','A'-'Z','0'-'9'字符
*返回值:第一个不合要求的字符所处位置
*例如:str="abc",返回str+3; str="a#bc",返回str+1;
*/
char * CharsCheck(char *str)
{
while((*str='a'*str='z')||
(*str='A'*str='Z')||
(*str='0'*str='9')||
*str=='_')
{
str++;
}
return str;
}
要求没有提'_'符号的特殊规则, 所以"__.__@_"这样的email也是能校验过的.
如何用javascript检测e-mail地址是否正确,将判断条件写入else if (…… ) 中
var reg = /^(\w)+(\.\w+)*@(\w)+((\.\w+)+)$/;
else if ( ……) { // 里面条件填写 !reg.test($("#%=txtEmail.ClientID %").val())
C#如何判断字符串为邮箱
“((http|https|ftp):(\/\/|\\\\)((\w)+[.])
(net|com|cn|org|cc|tv|[0-9])(((\/[\~]*|\\[\~]*)(\w)+)|[.]
(\w)+)*(((([?](\w)+)[=]*))*((\w)+)([\](\w)+[\=](\w)
+)*)*)”(不含外侧中文引号),
解析:要判断字符串是否为网址,需要下面几个条件。
条件一:常见的网址是以、https://或ftp://开头,而这
部分转换为正则表达式就为(http|https|ftp):(\/\/|\\\\)。
条件二:在后面必须要紧跟一个单词字符(一般为www),
然后就是字符“.”(这样的组合必须出现一次或多次),最后就是域
名(net、com、cn或数字的IP地址等),这部分转换为正则表达式就
为((\w)+[.])(net|com|cn|org|cc|tv|[0-9])。
条件三:在完整的链接后,可能会出现下一级或更多级的目录,
甚至是“~”符号,此条件变为正则表达式为(((\/[\~]*|\\[\~]*)
(\w)+)|[.](\w)+)*。
条件四: 链接的末尾还可以带有参数,如前面提到的230.
aspxe=9690或是?Page=2action=display等,换为正则表达式为(((([?]
(\w)+)[=]*))*((\w)+)([\](\w)+[\=](\w)+)*)*。
===============================
代码如下 :
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Text.RegularExpressions;
public partial class Default2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string sRegex = @"(((([?](\w)+)[=]*))*((\w)+)([\](\w)+[\=](\w)+)*)*";
Regex myrx = new Regex(sRegex);
Match match = myrx.Match("");
if (!match.Success)
{
Response.Write("网址输入有错");
}
else
{
Response.Write("网址正确");
}
}
}
===============================
楼下的,你有没有试过啊!
抛出异常,要占用多少资源啊!
何况根本就不行,这个我早想过了!
怎么验证一个邮箱是否有效
要准备:邮箱检测工具,如fobtrading.cn。
1、先登录邮箱检测工具账号。
2、登录邮箱检测工具后,即可开始单个或者多个邮箱的检测。
3、输入邮件地址,点击邮箱右边的检测。
4、如果要批量检测,点击批量检测后输入多个邮箱地址。
5、要看检测报告点击最右方的下载报告即可。
使用电子邮件的条件有哪些?
同打电话、上网一样,我们使用电子邮件也得需要一定的条件具体来说,有以下几项内容:
首先需要一台计算机、一个调制解调器(Modem)和一条电话线。不考虑其它需要,一台386以上性能的微机和一个9600bqs的调制解凋器就能满足收发电子邮件的需求。
需要一个电子邮件E-mail信箱,现在许多Internet服务商提供邮件服务,申请一个电子邮件账号,此账号仅提供接收电子邮件功能,当然可以浏览你的Internet服务商指定的信息资源节点。如果你除了接收电子邮件外,还要使用Internet的其它功能,那么你可以申请一个PPP账号,电子邮件账号比PPP账号要便宜得多,比如中网公司的一个PPP账号的月服务费是300元,而一个E-mail账号的月费用只有50元。
选择一种收发电子邮件的工具。用于收发Internet电子邮件的软件不下几十种,无论是DOS的、Windows的还是Macintosh的、UniX的平台都有相应的软件。例如,在UniX平台上的主要邮件软件包括Mails,theElmmailSystem,Pine,mush等,而在Windows平台上比较著名的软件有NetscapeNavigator,Endura,Pipeline,Winnet等等。
用户使用的计算机必须联网。向本中心以外发送电子邮件,本中心必须与Internr连接用户电子邮件信箱地址。
邮件的发信者、接收者都必须有用户电子邮件信箱地址。
为了实现全球范围内的通信,用户所选用的电子邮件系统应能处理不同的邮件格式、不同的邮件地址和不同的邮件功能。
个不合要求的字符所处位置 *例如:str="abc",返回str+3; str="a#bc",返回str+1; */char * CharsCheck(char *str){ while((*str='a'*str='z'
Response.Write("网址输入有错"); } else { Response.Write("网址正确");
需要一个电子邮件E-mail信箱,现在许多Internet服务商提供邮件服务,申请一个电子邮件账号,此账号仅提供接收电子邮件功能,当然可以浏览你的Internet服务商指定的信息资源节点。如果你除了接
} else if(*p=='\0') { return 1; } else