从输入验证URL

时间:2013-11-09 05:57:51

标签: php regex

我有一个输入,用户可以输入他们的网站URL。

我无法使用FILTER_VALIDATE_URL,因为这需要用户在其网址前键入http://。有些用户可能只需输入www.website.comwebsite.com

如何使用以下规则验证网址:

  • 不要求用户拥有http://https://或此类
  • 的任何其他形式
  • 不要求用户在其链接之前拥有www.(例如:website.com
  • 使用什么域扩展名无关紧要
  • 允许使用www.website.com/username或类似内容的链接

如何做到这一点?

1 个答案:

答案 0 :(得分:0)

使用此

/(http[s]?:\/\/)?(www[\w]?\.)?[\w]*\.[\w]{2,3}[\/[\w]*]*$/i

这个正则表达式适合以下的creteria:

  1. http://https://是可选的,但如果用户提及,则应以书面方式撰写
  2. www(.).是可选的,但如果提到的话应该是正确的
  3. 允许url之后的一些参数。如果你想在url之后只是一个devision,我的意思是www.facebook / user将上面表达式末尾的*转换为?