PHP验证灵活有效的URI

时间:2017-09-22 07:32:51

标签: php regex validation url

我想验证URI是否有效。我知道这个问题之前已被问过,但我可以找到灵活的问题,它可以算一些规则

  1. 应该放置http://https://
  2. 验证主机是真实且灵活的ex:localhostexample.comwww.example.comsub.domain.com198.123.456.678
  3. 应包含顶级域名(例如.com或.org及其他任何内容)
  4. 如果规则中断,响应应该告诉哪个规则是错误的

    所以如果网址:

    https://example.comhttp://localhost,它会返回true

    example.com应该是false,而响应是域应该是域必须使用http或https

    http://www.example应为false,因为域名不包含顶级域名

    https://198.123.456.678这个也应该是真的

    这些是我所期待的

    谢谢

1 个答案:

答案 0 :(得分:0)

由于使用的是PHP,因此可以使用[FILTER_VALIDATE_URL]

<?php
  $uri = "https://www.stackoverflow.com" ;

  if(filter_var($uri, FILTER_VALIDATE_URL)) {
    echo("$uri is valid") ;
  }
?>

有关其他标志,请参见http://php.net/manual/en/filter.filters.validate.php