首頁 > 後端開發 > PHP7 > 主體

PHP7.0中的資料過濾與驗證有哪些方法?

WBOY
發布: 2023-05-27 10:31:45
原創
943 人瀏覽過

PHP是一種廣泛應用於web開發中的程式語言,其應用於重要的資料處理,例如表單資料驗證和使用者輸入過濾。在PHP7.0中,有許多不同的方法可以用來過濾和驗證輸入的資料。在本文中,我們將探討一些主要的方法。

一、filter_var() 函數

filter_var()函數是PHP7.0中用來過濾和驗證資料的一個基本函數。此函數可讓開發者指定篩選器類型並將待驗證的變數作為輸入,確保其符合開發者指定的某些條件。例如,開發者可以使用該函數來確保Email位址格式的正確性,或確保輸入的數值在特定的範圍內。

  1. Email位址驗證

以下程式碼片段顯示如何使用filter_var()來驗證Email位址的格式是否正確:

$email = "test@example.com";
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
  echo("$email is not a valid email address");
} else {
  echo("$email is a valid email address");
}
登入後複製
  1. #數值範圍驗證

以下程式碼片段展示如何使用filter_var()來驗證數值是否在指定範圍內:

$age = 25;
if(!filter_var($age, FILTER_VALIDATE_INT, array("options"=>
    array("min_range"=>18, "max_range"=>60)))) {
  echo("Age is not valid");
} else {
  echo("Age is valid");
}
登入後複製

二、Sanitize Filters

#除了驗證輸入資料外,過濾器還允許開發人員對資料進行清理或消毒處理,以防止資料被包含有害程式碼。以下幾個過濾器可以用於消毒資料:

  1. FILTER_SANITIZE_STRING:消毒字串,從特殊字元中刪除標籤和編碼
  2. FILTER_SANITIZE_EMAIL:消毒電子郵件,刪除除字母、數字和!#$%&'* -/=?^_`{|}~@.[] 以外的所有字元。
  3. FILTER_SANITIZE_NUMBER_INT:消毒整數,從字符串中刪除所有字符,除了數字和 - 符號。
  4. FILTER_SANITIZE_NUMBER_FLOAT:消毒浮點數,從字符串中刪除所有字符,除了數字、 、-、. 以及e和E(科學計數法的標誌)。

以下程式碼展示如何使用FILTER_SANITIZE_STRING來進行資料消毒

$name = "<h1>John Doe</h1>";
$name = filter_var($name, FILTER_SANITIZE_STRING);
echo $name;
登入後複製

該程式碼片段會將輸入資料中包含的HTML標記刪除,只輸出字元「John Doe」。

三、表單驗證

網頁表單是web開發中非常常見的一種方式,因此開發人員需要一種方法能夠快速驗證表單提交的資料是否正確。以下是幾種表單驗證方法:

  1. 驗證電子郵件地址
$email = test@example.com;
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
  $emailErr = "Invalid email format";
}
登入後複製
  1. 驗證網址
$url = "http://www.example.com";
if (!filter_var($url, FILTER_VALIDATE_URL)) {
  $urlErr = "Invalid URL";
}
登入後複製
    ##驗證整數
  1. $age = $_POST["age"];
    if (!filter_var($age, FILTER_VALIDATE_INT)) {
      $ageErr = "Age must be a number";
    }
    登入後複製
    總結

    PHP7.0中提供的篩選器以及驗證方法非常實用,讓開發人員可以以簡單、快速的方式驗證他們的資料。無論是編寫表單、處理輸入、或消毒數據,這些方法都可以確保數據的正確性和安全性。

    以上是PHP7.0中的資料過濾與驗證有哪些方法?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!