首頁  >  文章  >  後端開發  >  PHP 表單驗證 - 驗證 E-mail 和 URL

PHP 表單驗證 - 驗證 E-mail 和 URL

巴扎黑
巴扎黑原創
2016-11-12 09:22:111745瀏覽


PHP 表單驗證 - 驗證 E-mail 和 URL

PHP 表單必填

PHP 表單完成

本節展示如何驗證名字、電子郵件和 URL。

PHP - 驗證名字

以下程式碼顯示的簡單方法檢查 name 欄位是否包含字母和空格。如果name 欄位無效,則儲存錯誤訊息:

$name = test_input($_POST["name"]);

if (!preg_match("/^[a-zA-Z ]*$/",$ name)) {

  $nameErr = "只允許字母和空格!"; 

}

註解:preg_match() 函數擷取字串的模式,如果模式存在則回傳true,否則傳回false。

PHP - 驗證 E-mail

以下程式碼展示的簡單方法檢查 e-mail 位址語法是否有效。如果無效則儲存一則錯誤訊息:

$email = test_input($_POST["email"]);

if (!preg_match("/([w-]+@[w-]+.[w-] +)/",$email)) {

  $emailErr = "無效的email 格式! "; 

}

PHP - 驗證網址表語法式同時允許URL 中的斜線)。如果URL 位址語法無效,則儲存一則錯誤訊息:

$website = test_input($_POST["website"]);

if (!preg_match("/b(?:(?:https?|ftp): //|www.)[-a-z0-9+&@#/%?=~_|!:,.;]*[-a-z0-9+&@#/%

=~_| ]/i",$website)) {

  $websiteErr = "無效的URL"; 

}

PHP - 驗證Name、E-mail、以及URL

現在,腳本是這樣的:實例是這樣的:實例。

<?php
// 定义变量并设置为空值
$nameErr = $emailErr = $genderErr = $websiteErr = "";
$name = $email = $gender = $comment = $website = "";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
  if (empty($_POST["name"])) {
    $nameErr = "Name is required";
  } else {
    $name = test_input($_POST["name"]);
    // 检查名字是否包含字母和空格
    if (!preg_match("/^[a-zA-Z ]*$/",$name)) {
      $nameErr = "Only letters and white space allowed"; 
    }
  }
  if (empty($_POST["email"])) {
    $emailErr = "Email is required";
  } else {
    $email = test_input($_POST["email"]);
    // 检查电邮地址语法是否有效
    if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email)) {
      $emailErr = "Invalid email format"; 
    }
  }
  if (empty($_POST["website"])) {
    $website = "";
  } else {
    $website = test_input($_POST["website"]);
    // 检查 URL 地址语言是否有效(此正则表达式同样允许 URL 中的下划线)
    if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%
    =~_|]/i",$website)) {
      $websiteErr = "Invalid URL"; 
    }
  }
  if (empty($_POST["comment"])) {
    $comment = "";
  } else {
    $comment = test_input($_POST["comment"]);
  }
  if (empty($_POST["gender"])) {
    $genderErr = "Gender is required";
  } else {
    $gender = test_input($_POST["gender"]);
  }
}
?>

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn