求一PHP中正则表达式,判断网址是否合法

ruihuo 2010-07-05 07:28:00
说下网址规则
1:必须以http://或https://开头
2:域名中至少包含一个小数点
3:域名最后一个小数点后面允许2(含) - 4(含) 位的a-z字母
4:域名后可带斜杠/
5:如果带斜杠/,斜杠后面是可以是一下字符,a-z字母,0-9数字,斜杠,反斜杠等以及一切可以用来命名文件的字符

求高手帮解决,如果我说的不详细或不标准,也请提醒下
...全文
263 点赞 收藏 8
写回复
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Dleno 2010-07-06
/^http(s)?://([a-zA-Z0-9\.]?([0-9A-Za-z][0-9A-Za-z-]+\.)+[A-Za-z]{2,5})|((25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9]))/
回复
do_fork 2010-07-05
filter_var($url, FILTER_VALIDATE_URL)
回复
Siramizu 2010-07-05
未测试
回复
Siramizu 2010-07-05
[Quote=引用 1 楼 siramizu 的回复:]

'|^https?://.+\.[a-z]{2,4}(/.*|)$|i'

未测试
[/Quote]这个错了,更正一下
'/^https?:\/\/.+\.[a-z]{2,4}(\/.*|)$/i'

本来在出现/的时候不喜欢用/的,结果同时用到|了,还是用回/好了
回复
kyzy_yy_pm 2010-07-05
'/^https?:\/\/.+\.[a-z]{2,4}\/.*$/';
回复
kyzy_yy_pm 2010-07-05
拉下一条:
'/^https\/\/?.+\.[a-z]{2,4}\/.*$/';
回复
kyzy_yy_pm 2010-07-05
'/^https\/\/?.+\.[a-z]{2,4}$/';
回复
Siramizu 2010-07-05
'|^https?://.+\.[a-z]{2,4}(/.*|)$|i'

未测试
回复
发动态
发帖子
基础编程
创建于2007-09-28

2.1w+

社区成员

从PHP安装配置,PHP入门,PHP基础到PHP应用
申请成为版主
社区公告
暂无公告