您的位置:首页 > 其它

判断一个字符串是否是一个合法的电子邮件地址

2011-04-27 22:41 323 查看
判断一个字符串是否是一个合法的电子邮件地址

邮件地址最基本的格式可以看作是

<用户名@域名>。对于用户名,各个ISP没有统一的标准,除了数字和字母外,有的允许有<_>,有的允许有<.>,也有的两者皆可,或者允许其他的特殊字符。对此我们只能根据具体的情况加以判断。

文中假设除字母和数字外还允许<.><_>,<.><_>不能出现在首末
位,<.><_>不能相连。域名中各段除数字和字母外只允许出现<->,且<->不能出现在首位和末
位,各段用<.>连接。我们还可从域名得知最后一段大于一位且只有字母。

下面我们就可以依据以上假设写出如下表达式来判断是否该串是一个邮件地址:

^([a-z0-9A-Z]+[-|/.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?/.)+[a-zA-Z]{2,}$

稍作解释:

^:匹配开始

([a-z0-9A-Z]+[-|/.]?)+:数字或字母>1位 + <->或<.>,以上组合重复1次以上

[a-z0-9A-Z]:用户名以数字或字母结尾

@:匹配<@>

(

[a-z0-9A-Z]+:匹配多位数字或字母

(-[a-z0-9A-Z]+)?:匹配 -加多位数字或字母 0次或1次

/.:匹配<.>

)+:匹配括号中内容多次

[a-zA-Z]{2,}:匹配字母2次以上

$:匹配结尾
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: