PHP验证灵活有效的URI

标签 php regex validation url

我会验证 URI 是否有效。我知道以前有人问过这个问题,但我可以找到灵活的问题,它符合一些规则

  1. 应该放http://https://
  2. 验证主机是真实且灵活的 ex : localhost, example.com, www.example.com, sub.domain .com, 198.123.456.678
  3. 应包含顶级域(例如 .com 或 .org 以及任何其他域)

如果规则被打破,响应应该指出哪个规则是错误的

所以如果 url :

https://example.com, http://localhost, 会返回true

example.com 应该是 false,响应是 domain 应该是域必须使用 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额外的标志。

关于PHP验证灵活有效的URI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46359215/

相关文章:

php - 迁移两段代码,报错mysql_fetch_array() expects parameter 1 to be resource

php - 我可以向 Laravel 中的 Route::group 添加参数,但在分派(dispatch)到 Laravel 中的路由之前将其删除吗?

Java 正则表达式 - "()"括号

c# - 如何在 ASP.NET 客户端提交表单之前进行验证

javascript - 使用单个正则表达式验证主机名和 IP 地址

php - 如何记录基于 Symfony 的 REST API(类似于 enunciate 的文档功能)

php - 在MySQL中删除第一行并向最后一行添加元素

python - 将正则表达式模式作为系统参数传递给 Python 脚本

regex - 如何从 Perl 正则表达式匹配中获得多个内存?

java - Struts 2 验证不适用于动态表单字段