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"]); } } ?>