PHP是一種廣泛應用於web開發中的程式語言,其應用於重要的資料處理,例如表單資料驗證和使用者輸入過濾。在PHP7.0中,有許多不同的方法可以用來過濾和驗證輸入的資料。在本文中,我們將探討一些主要的方法。
一、filter_var() 函數
filter_var()函數是PHP7.0中用來過濾和驗證資料的一個基本函數。此函數可讓開發者指定篩選器類型並將待驗證的變數作為輸入,確保其符合開發者指定的某些條件。例如,開發者可以使用該函數來確保Email位址格式的正確性,或確保輸入的數值在特定的範圍內。
- Email位址驗證
以下程式碼片段顯示如何使用filter_var()來驗證Email位址的格式是否正確:
1 2 3 4 5 6 | $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" );
}
|
登入後複製
- #數值範圍驗證
以下程式碼片段展示如何使用filter_var()來驗證數值是否在指定範圍內:
1 2 3 4 5 6 7 | $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
#除了驗證輸入資料外,過濾器還允許開發人員對資料進行清理或消毒處理,以防止資料被包含有害程式碼。以下幾個過濾器可以用於消毒資料:
- FILTER_SANITIZE_STRING:消毒字串,從特殊字元中刪除標籤和編碼
- FILTER_SANITIZE_EMAIL:消毒電子郵件,刪除除字母、數字和!#$%&'* -/=?^_`{|}~@.[] 以外的所有字元。
- FILTER_SANITIZE_NUMBER_INT:消毒整數,從字符串中刪除所有字符,除了數字和 - 符號。
- FILTER_SANITIZE_NUMBER_FLOAT:消毒浮點數,從字符串中刪除所有字符,除了數字、 、-、. 以及e和E(科學計數法的標誌)。
以下程式碼展示如何使用FILTER_SANITIZE_STRING來進行資料消毒
1 2 3 | $name = "<h1>John Doe</h1>" ;
$name = filter_var( $name , FILTER_SANITIZE_STRING);
echo $name ;
|
登入後複製
該程式碼片段會將輸入資料中包含的HTML標記刪除,只輸出字元「John Doe」。
三、表單驗證
網頁表單是web開發中非常常見的一種方式,因此開發人員需要一種方法能夠快速驗證表單提交的資料是否正確。以下是幾種表單驗證方法:
- 驗證電子郵件地址
1 2 3 4 | $email = test@example.com;
if (!filter_var( $email , FILTER_VALIDATE_EMAIL)) {
$emailErr = "Invalid email format" ;
}
|
登入後複製
- 驗證網址
1 2 3 4 | $url = "http://www.example.com" ;
if (!filter_var( $url , FILTER_VALIDATE_URL)) {
$urlErr = "Invalid URL" ;
}
|
登入後複製
##驗證整數1 2 3 4 | $age = $_POST [ "age" ];
if (!filter_var( $age , FILTER_VALIDATE_INT)) {
$ageErr = "Age must be a number" ;
}
|
登入後複製
總結PHP7.0中提供的篩選器以及驗證方法非常實用,讓開發人員可以以簡單、快速的方式驗證他們的資料。無論是編寫表單、處理輸入、或消毒數據,這些方法都可以確保數據的正確性和安全性。 以上是PHP7.0中的資料過濾與驗證有哪些方法?的詳細內容。更多資訊請關注PHP中文網其他相關文章!