• PHP 中filter_var的使用


    filter_var() 函数通过指定的过滤器过滤变量。 
    如果成功,则返回已过滤的数据,如果失败,则返回 false。 
    语法 :
    filter_var(variable, filter, options)variable:必需。规定要过滤的变量。 

    filter:可选。规定要使用的过滤器的 ID。

    options:规定包含标志/选项的数组。检查每个过滤器可能的标志和选项。

    FiltersID名称:描述 
    FILTER_CALLBACK:调用用户自定义函数来过滤数据。 
    FILTER_SANITIZE_STRING:去除标签,去除或编码特殊字符。 
    FILTER_SANITIZE_STRIPPED:"string" 过滤器的别名。 
    FILTER_SANITIZE_ENCODED:URL-encode 字符串,去除或编码特殊字符。 
    FILTER_SANITIZE_SPECIAL_CHARS:HTML 转义字符 '"<>& 以及 ASCII 值小于 32 的字符。 
    FILTER_SANITIZE_EMAIL:删除所有字符,除了字母、数字以及 !#$%&'*+-/=?^_`{|}~@.[] 
    FILTER_SANITIZE_URL:删除所有字符,除了字母、数字以及 $-_.+!*'(),{}|\^~[]`<>#%";/?:@&= 
    FILTER_SANITIZE_NUMBER_INT:删除所有字符,除了数字和 +- 
    FILTER_SANITIZE_NUMBER_FLOAT:删除所有字符,除了数字、+- 以及 .,eE。 
    FILTER_SANITIZE_MAGIC_QUOTES:应用 addslashes()。 
    FILTER_UNSAFE_RAW:不进行任何过滤,去除或编码特殊字符。 
    FILTER_VALIDATE_INT:在指定的范围以整数验证值。 
    FILTER_VALIDATE_BOOLEAN:如果是 "1", "true", "on" 以及 "yes",则返回 true,如果是 "0", "false", "off", "no" 以及 "",则返回 false。否则返回 NULL。 
    FILTER_VALIDATE_FLOAT:以浮点数验证值。 
    FILTER_VALIDATE_REGEXP:根据 regexp,兼容 Perl 的正则表达式来验证值。 
    FILTER_VALIDATE_URL:把值作为 URL 来验证。 
    FILTER_VALIDATE_EMAIL:把值作为 e-mail 来验证。 
    FILTER_VALIDATE_IP:把值作为 IP 地址来验证。

    案例:

    <?php
        $errorArray=array();
        
        if(isset($_POST['save'])){
          $name=trim($_POST['uname']);
          $address=trim($_POST['address']);    
          $age=trim($_POST['age']);
          $email=trim($_POST['email']);
          $website=trim($_POST['website']);
    
        if($name=='' || $address=='' || $age=='' || $email=='' || $website==''){
            array_push($errorArray,'Please fill all fileds.');    
        }
    
        if(filter_var($age,FILTER_VALIDATE_INT)==FALSE){
            array_push($errorArray,'Please enter a number for age.');    
        }
    
        if(filter_var($email,FILTER_VALIDATE_EMAIL)==FALSE){
            array_push($errorArray,'Email address is incorrect.');    
        }
    
        if(filter_var($website,FILTER_VALIDATE_URL)==FALSE){
            array_push($errorArray,'Website address is incorrect.');    
        }
        }
    ?>
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title></title>
        <style type="text/css">
        fieldset{width: 400px;}
        .error{color:red;}
        .info{color:#008000;font-weight:bold;}
        </style>
    </head>
    <body>
    <?php
        if(count($errorArray)>0){    
    ?>
    <p class="error">
    <?php
        foreach($errorArray as $error){
        echo $error.'<br/>';    
        }
    ?>
    </p>
    <?php }?>
        <form method="post">
        <fieldset>
            <legend><strong>All fields are mandatory</strong></legend>
            <table>
            <tbody>
                <tr>
                <td>Name:</td>
                <td><input type="text" name="uname"/></td>
                </tr>
                <tr>
                <td>Address:</td>
                <td><input type="text" name="address"/></td>
                </tr>
                <tr>
                <td>Age:</td>
                <td><input type="text" name="age"/></td>
                </tr>
                <tr>
                <td>Email:</td>
                <td><input type="text" name="email"/></td>
                </tr>
                <tr>
                <td>Website:</td>
                <td><input type="text" name="website"/></td>
                </tr>
            </tbody>
            </table>
        </fieldset>
        <br/>
        <input type="submit" name="save" value="Submit"/>
        </form>
    </body>
    </html>
  • 相关阅读:
    C# WinForm多线程(一)Thread类库
    ASP.NET执行循序
    SQLSERVER2014的内存优化表
    C# 5.0 Async函数的提示和技巧
    WPF 绑定
    使用 Cordova+Visual Studio 创建跨平台移动应用(3)
    使用 Cordova+Visual Studio 创建跨平台移动应用(2)
    使用 WPF 创建预加载控件
    A WPF/MVVM Countdown Timer
    使用WPF创建无边框窗体
  • 原文地址:https://www.cnblogs.com/yshyee/p/3388912.html
Copyright © 2020-2023  润新知