我想验证URI是否有效.我知道这个问题之前已被问过,但我可以找到灵活的问题,它可以算一些规则
>应该放http://或https://
>验证主机是真实而灵活的ex:localhost,example.com,www.example.com,sub.domain.com,198.123.456.678
>应包含顶级域名(例如.com或.org及其他任何内容)
如果规则中断,响应应该告诉哪个规则是错误的
所以如果网址:
https://example.com,http:// localhost,它会返回true
example.com应该是false,并且响应是域应该是域必须使用http或https
http://www.example应该为false,因为域名不包含顶级域名
https://198.123.456.678,这个也应该是真的
那些是我所期待的
谢谢
解决方法
由于您使用的是
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.