免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: chjcpu1
打印 上一主题 下一主题

用perl怎么匹配一个字符串是否是合法的email地址 [复制链接]

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
11 [报告]
发表于 2008-09-10 18:01 |只看该作者
原帖由 chjcpu1 于 2008-9-10 12:08 发表
RT, 哪位大侠最好给个好用的, 我要在C语言里调用, 或者C的也可以, 最近很菜, 先多谢了

检查邮件地址是否有效的唯一方式是你给它发个邮件,等着看有没有回复。若有了肯定有效;若没有也不能说明它无效。

论坛徽章:
0
12 [报告]
发表于 2008-09-11 12:53 |只看该作者
原帖由 MMMIX 于 2008-9-10 18:01 发表

检查邮件地址是否有效的唯一方式是你给它发个邮件,等着看有没有回复。若有了肯定有效;若没有也不能说明它无效。


不明白你是怎么做到腰缠万贯的

论坛徽章:
0
13 [报告]
发表于 2008-09-11 12:57 |只看该作者
Data::Validate::Email这个模块你看可以么?
我就喜欢瞎用模块,因为我觉得出了模块的人考虑的比我周全

论坛徽章:
0
14 [报告]
发表于 2008-09-11 13:10 |只看该作者
下面文字引自《PERL编程24学时教程》第22学时


  也许你已经发现C G I程序并不试图确定用户输入的电子邮件地址是否有效。它这样做是很有理由的,因为它无法确定该地址是否有效。
  这个原因一定会使你大吃一惊。
  标准的解决办法是设法清除掉显然无效的地址,无法确定是否有效的地址则属例外。电子邮件地址的I n t e r n e t标准( R F C - 8 2 2)有一个标准电子邮件地址的模板。但是,有些符合R F C - 8 2 2标准的有效地址实际上是无效的,而有些不符合R F C - 8 2 2标准的地址却是有效的、可以传递邮件的地址。
  编写对电子邮件地址进行匹配的正则表达式是不行的。例如,表达式/ ^ [ \ w. - ] + \ @ ( [ \ w, -] \ . ) + \ w + $ /看上去是可行的,它甚至与m e @ s o m e w h e r e . c o m这个地址相匹配。但是,它拒绝下面这个完全有效的电子邮件地址:
    *@qz.az
    clintp!sol2!westwood@dec.net
    realy%me@host.com
    "barney&fred"@flintstones.net
  与符合R F C - 8 2 2标准的电子邮件地址相匹配的一个正则表达式长达4 7 0 0个字符,因为太长,所以本书没有将它列出,你也很难键入。同时它也无法与I n t e r n e t上的每个传输邮件的地址相匹配。
  那么究竟怎么办呢?
  若要确定电子邮件地址是否有效,唯一的办法是将一个邮件发送到该地址,然后等待对方的答复。如果由于某个原因,你希望确保对方地址上有人(比如将来将邮件发送给他,因为他要求发送),请发送一个电子邮件,要求他回答。当对方的答复返回时,就知道你发送了一份有效的电子邮件。


我的E文不好,没法看懂最新文档,不过我认为该书的描述现在依然有效。

论坛徽章:
3
戌狗
日期:2014-09-10 17:07:162015年辞旧岁徽章
日期:2015-03-03 16:54:15wusuopu
日期:2016-06-17 17:43:45
15 [报告]
发表于 2008-09-11 14:02 |只看该作者
看来要掌握度
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP