佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 939|回复: 15

PHP大家来研究Regular Expression

[复制链接]
发表于 19-6-2007 11:24 PM | 显示全部楼层 |阅读模式
Regular Expression, 其实说难也不是很难, 说容易也不容易,希望大家能够在此讨论讨论。

1)Email Validation
   - 一定要有@
   - 在@的前端部分只能用a到z , 0到9和. , 而且.不能在第一个位置和@的前面。
   - 在@的后半部分是Valid的Domain.
回复

使用道具 举报


ADVERTISEMENT

 楼主| 发表于 19-6-2007 11:34 PM | 显示全部楼层
我先来放后半部也就是Domain的部分!

^[a-z0-9]+[a-z0-9\.]*[a-z0-9]+.([a-z0-9]+|[a-z0-9]+.[a-z0-9]+[a-z0-9\.]*[a-z0-9]+)$

以上的只是Domain的Validation,有没有更简短的方法 ? 因为要Handle Multiple dot,subdomain等等!
回复

使用道具 举报

 楼主| 发表于 19-6-2007 11:36 PM | 显示全部楼层
以下是网上找到的, 不过看来好像能够接受第一个Char是dot.

^[a-zA-Z0-9_\.\-]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$
回复

使用道具 举报

发表于 20-6-2007 10:51 AM | 显示全部楼层
不错...有是我也烦脑要去找...有些人提出的都是错的....
不过最好这里的可以讨论讨论如果谁有错...

我的EMAIL REGEX

^[^0-9][A-z0-9-_]+([.][A-z0-9_]+)*[@][A-z0-9-_]+([.][A-z0-9_]+)*[.][A-z]{2,4}$

可用
D123.123@YAHOO.COM
D123_123@YAHOO.COM
D123-123@GMAIL.COM
J123123@MY-EMAIL.COM
J123123@MY_EMIAL.COM
J123@EMAIL.EMAIL.COM.SU
等等

[ 本帖最后由 iZoC 于 21-6-2007 02:22 PM 编辑 ]
回复

使用道具 举报

发表于 20-6-2007 10:31 PM | 显示全部楼层
/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i

值得一提的是,有直接link过去3rd party来检查email是否真的存在于网上的方法,缺点是要等两三秒吧,这样就不用怕别人放假email了.
回复

使用道具 举报

 楼主| 发表于 20-6-2007 11:21 PM | 显示全部楼层
原帖由 iZoC 于 20-6-2007 10:51 AM 发表
不错...有是我也烦脑要去找...有些人提出的都是错的....
不过最好这里的可以讨论讨论如果谁有错...

我的EMAIL REGEX

^+(+)*+(+)*{2,4}$

可用
123.123@YAHOO.COM
123_123@YAHOO.COM
123-123@GMAIL. ...

你的Regular Expression以下的情况会不会成立?

123.123@_YAHOO.COM
回复

使用道具 举报

Follow Us
发表于 21-6-2007 01:23 AM | 显示全部楼层
原帖由 亡者之疯 于 20-6-2007 10:31 PM 发表
/^(+(?:\.+)*)@((?:+\.)*\w{0,66})\.({2,6}(?:\.{2})?)$/i

值得一提的是,有直接link过去3rd party来检查email是否真的存在于网上的方法,缺点是要等两三秒吧,这样就不用怕别人放假email了.

一般上不是都用激活方法?
回复

使用道具 举报

发表于 21-6-2007 10:48 AM | 显示全部楼层

回复 #5 亡者之疯 的帖子

愿请告知什么third party
回复

使用道具 举报


ADVERTISEMENT

发表于 21-6-2007 02:25 PM | 显示全部楼层
原帖由 belon_cfy 于 20-6-2007 11:21 PM 发表

你的Regular Expression以下的情况会不会成立?

123.123@_YAHOO.COM



PAISAY
我的有问题...


这个才对...

^[A-z0-9-_]+([.][A-z0-9_]+)*[@][A-z0-9-_]+([.][A-z0-9_]+)*[.][A-z]{2,4}$
回复

使用道具 举报

发表于 21-6-2007 02:31 PM | 显示全部楼层
我要介绍的是这个SOFTWARE 对REGEX 很有用....

THE REGEX COACH

http://www.snapfiles.com/get/regexcoach.html

可以让你CHECH 你的REGEX 是否完全正确.......
回复

使用道具 举报

发表于 22-6-2007 12:04 AM | 显示全部楼层
原帖由 hui_wooi 于 21-6-2007 01:23 AM 发表

一般上不是都用激活方法?

嗯,在某些情况是不便用或不能用激活的..

例1: 若你的网站提供newsletter的订阅服务,却没提供其他有条件的服务(如必须是会员才能使用的服务)的话,站在用户便利的角度来说,步骤越短越好.
系统管理的角度来说,也没必要发送邮于件一些不存在,或已经passive的邮址..节省资源..

例2: 在某些情况下,需要收集一大堆邮址,却又要验证邮址是否存在的话....当然可以用这个,譬如说spam junk mail(打广告),所以大概知道那些email是否还active,然后就可以...

例3: 使用推荐网址给朋友的服务...所以不可能"激活"他们的吧...

[ 本帖最后由 亡者之疯 于 22-6-2007 12:27 AM 编辑 ]
回复

使用道具 举报

发表于 22-6-2007 12:37 AM | 显示全部楼层
原帖由 亡者之疯 于 22-6-2007 12:04 AM 发表

嗯,在某些情况是不便用或不能用激活的..

例1: 若你的网站提供newsletter的订阅服务,却没提供其他有条件的服务(如必须是会员才能使用的服务)的话,站在用户便利的角度来说,步骤越短越好.
系统管理的角度来说 ...

说得好。
回复

使用道具 举报

发表于 22-6-2007 02:55 AM | 显示全部楼层
原帖由 ikanyuchiew 于 21-6-2007 10:48 AM 发表
愿请告知什么third party

不好意思~忘记了~以前也是google找到~

不过~最近动了Joomla!(CMS)用了一个newsletter的compenent+module,里面其中一个功能就包括这个.

你本身有用过joomla最好..可以去研究看看~
http://www.thejfactory.com/component/option,com_docman/task,cat_view/gid,30/Itemid,56/
module跟component是有联系的..

若没有的话,我只能说..不好意思,帮不到你  ~

麻烦哪位仁兄介绍下~

原帖由 hui_wooi 于 22-6-2007 12:37 AM 发表

说得好。


好好干~

[ 本帖最后由 亡者之疯 于 22-6-2007 02:57 AM 编辑 ]
回复

使用道具 举报

发表于 22-6-2007 09:42 AM | 显示全部楼层
原帖由 亡者之疯 于 20-6-2007 10:31 PM 发表
/^(+(?:\.+)*)@((?:+\.)*\w{0,66})\.({2,6}(?:\.{2})?)$/i

值得一提的是,有直接link过去3rd party来检查email是否真的存在于网上的方法,缺点是要等两三秒吧,这样就不用怕别人放假email了.




不过...3RD PARTY 的..是要钱的吗??
回复

使用道具 举报

发表于 22-6-2007 07:06 PM | 显示全部楼层
原帖由 iZoC 于 22-6-2007 09:42 AM 发表




不过...3RD PARTY 的..是要钱的吗??

不用钱的。。。都是open source。
不过。。印象中。。好像也有付费的。。
回复

使用道具 举报

 楼主| 发表于 23-6-2007 01:33 AM | 显示全部楼层
原帖由 iZoC 于 21-6-2007 02:25 PM 发表



PAISAY
我的有问题...


这个才对...

^+(+)*+(+)*{2,4}$


这个不错, 有参考价值
回复

使用道具 举报


ADVERTISEMENT

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 8-9-2025 08:38 PM , Processed in 0.120730 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表