php filter_var 正则,用于url验证的PHP正则表达式,filter_var太过分了

首先,根据我的要求定义“URL”.

唯一允许的协议是http://和https://

然后是像stackoverflow.com这样的强制域名

然后可选地其余的url组件(路径,查询,哈希,…)

根据我的要求提供有效和无效网址的列表供参考

有效

> stackoverflow.com

> stackoverflow.com/questions/ask

> https://stackoverflow.com/questions/ask

> http://www.amazon.com/Computers-Internet-Books/b/ref=bhp_bb0309A_comint2?ie=UTF8&node=5&pf_rd_m=ATVPDKIKX0DER&pf_rd_s=browse&pf_rd_r=0AH7GM29WF81Q72VPFDH&pf_rd_t=101&pf_rd_p=1273387142&pf_rd_i=283155

> amazon.com/Computers-Internet-Books/b/ref=bhp_bb0309A_comint2?ie=UTF8\u0026amp;node=5\u0026amp;pf_rd_m=ATVPDKIKX0DER\u0026amp;pf_rd_s=browse\u0026amp;pf_rd_r=0AH7GM29WF81Q72VPFDH\u0026amp;pf_rd_t=101\u0026amp;pf_rd_p=1273387142\u0026amp;pf_rd_i=283155

> http://test-site.com(filter_var拒绝此!!!我有破折号的域名)

无效

> http://www(php filter_var允许这个,是的,我知道是一个有效的网址)

>谷歌

> http://www..des(php filter_var允许这个)

>域名中包含不允许使用字符的任何URL

为了完整性,这里是我的PHP版本:5.3.2-1ubuntu4.2

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值