如何将localhost添加到php正则表达式?

时间:2012-08-03 22:44:00

标签: php regex

我不知道如何编写正则表达式但我需要在我正在使用的程序之一中使localhost url有效。这是程序用于验证URL的正则表达式:

preg_match ( '/^https?:\/\/(([a-z0-9-]+\.)+[a-z]{2,6}|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})(:[0-9]+)?(\/?|\/\S+)$/iu', $url )

我的本​​地网站的根网址是http://localhost/,如何验证?

3 个答案:

答案 0 :(得分:4)

我看到你已经有了IPv4地址的选项,所以只是localhost的另一个选项。

\d{1,3}链之后,)之前,添加|localhost

答案 1 :(得分:4)

我只是将localhost作为选项添加到模式的开头,所以它的开头看起来像这样:

preg_match('/^https?:\/\/(localhost|([a-z0-9-]+\.)+[a-z]{2,6} (the rest as before)

答案 2 :(得分:2)

正则表达式可以在某些部分进行拆分:

https?://
(
    ([a-z0-9-]+\.)+[a-z]{2,6}
    |\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}
)
(:[0-9]+)?
(/?|/\S+)

为了将localhost添加到有效网址集,​​只需在协议之后的两个左括号中添加localhost|