源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

PHP中filter函数校验数据的方法详解

  • 时间:2020-10-15 19:57 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:PHP中filter函数校验数据的方法详解
介绍PHP中filter函数校验数据的方法详解,PHP过滤器包含两种类型:[b]Validation用来验证验证项是否合法 [/b]、[b]Sanitization用来格式化被验证的项目,因此它可能会修改验证项的值,将不合法的字符删除。[/b] [b]input_filters_list()[/b] 用来列出当前系统所支持的所有过滤器。
[url=http://cg.am/]http://cg.am[/url]) FILTER_FLAG_HOST_REQUIRED – 要求 URL 包含主机名(比如:[url=http://levi.cg.com/]http://levi.cg.com[/url]) FILTER_FLAG_PATH_REQUIRED – 要求 URL 在主机名后存在路径(比如:[url=http://levi.cg.am/test/phpmailer/]http://levi.cg.am/test/phpmailer/[/url]) FILTER_FLAG_QUERY_REQUIRED – 要求 URL 存在查询字符串(比如:[url=http://levi.cg.am/?p=2618]http://levi.cg.am/?p=2618[/url]
<?php
  /*** a non rfc compliant URL ***/
  $url = "index.php";

  /*** try to validate the URL ***/
  if(filter_var($url, FILTER_VALIDATE_URL, FILTER_FLAG_SCHEME_REQUIRED) === FALSE)
  {
    /*** if there is no match ***/
    echo "Sorry, $url is not valid!";
  }
  else
  {
    /*** if the URL is valid ***/
    echo "The URL, $url is valid!";
  }
?>

可以发现,上面的代码没有通过验证 [b]IP过滤器 FILTER_VALIDATE_IP[/b] [b]FILTER_VALIDATE_IP 过滤器把值作为 IP 进行验证。 Name: “validate_ip” ID-number: 275[/b] 可能的标志: FILTER_FLAG_IPV4 – 要求值是合法的 IPv4 IP(比如:255.255.255.255) FILTER_FLAG_IPV6 – 要求值是合法的 IPv6 IP(比如:2001:0db8:85a3:08d3:1319:8a2e:0370:7334) FILTER_FLAG_NO_PRIV_RANGE – 要求值是 RFC 指定的私域 IP (比如 192.168.0.1) FILTER_FLAG_NO_RES_RANGE – 要求值不在保留的 IP 范围内。该标志接受 IPV4 和 IPV6 值。 Email过滤器FILTER_VALIDATE_EMAIL FILTER_VALIDATE_EMAIL 过滤器把值作为电子邮件地址来验证。
<?php
  $email = "someone@exa mple.com";

  if(!filter_var($email, FILTER_VALIDATE_EMAIL))
  {
    echo "E-mail is not valid";
  }
  else
  {
    echo "E-mail is valid";
  }
?>

[b]自定义过滤器 FILTER_CALLBACK[/b] [b]FILTER_CALLBACK 过滤器使用用户自定义函数对值进行过滤。[/b] 这个过滤器为我们提供了对数据过滤的完全控制。 指定的函数必须存入名为 “options” 的关联数组中。
<?php
  $email = "someone@exa mple.com";

  if(!filter_var($email, FILTER_VALIDATE_EMAIL))
  {
    echo "E-mail is not valid";
  }
  else
  {
    echo "E-mail is valid";
  }
?>

输出
[u]复制代码[/u] 代码如下:
Peter_is_a_great_guy!
以上所述就是本文全部内容,希望大家喜欢。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部