0

我不知道如何编写正则表达式,但我需要使 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 )

我的本地网站的根 URL 是http://localhost/,如何使其验证?

4

3 回答 3

4

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

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

于 2012-08-03T22:47:02.453 回答
4

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

preg_match('/^https?:\/\/(localhost|([a-z0-9-]+\.)+[a-z]{2,6} (the rest as before)
于 2012-08-03T22:47:05.943 回答
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 添加到一组有效 url,只需localhost|在协议后面的两个左括号之间添加。

于 2012-08-03T22:49:17.360 回答