この章では、名前、電子メール、およびURLを検証する方法を示しています。
PHP - 検証の名前
以下のコードは、名前欄には文字だけと空白文字が含まれているかどうかを確認する簡単な方法を示しています。 名前フィールドの値が有効でない場合は、エラーメッセージを格納します。
$name = test_input($_POST["name"]);
if (!preg_match("/^[a-zA-Z ]*$/",$name))
{
$nameErr = "Only letters and white space allowed";
}
するpreg_match()関数は、パターンが存在する場合はtrueを返し、パターンの文字列を検索し、それ以外の場合はfalse。 |
PHP - 検証Eメール
電子メールアドレスは、よく形成されているかどうかを確認する最も簡単で安全な方法は、PHPのにfilter_var()関数を使用することです。
電子メールアドレスが十分に形成されていない場合は、以下のコードでは、エラーメッセージを格納します。
$email = test_input($_POST["email"]);
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
$emailErr =
"Invalid email format";
}
PHP - 検証URL
以下のコードは、URLアドレスの構文が有効であるかどうかを確認する方法を示します(this regular expression also allows dashes in the URL) 。 URLアドレスの構文が有効でない場合は、エラーメッセージを格納します。
$website = test_input($_POST["website"]) ;
if
(! preg_match("/\b(?:(?:https?|ftp) :\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$website))
{
$websiteErr = "Invalid URL";
}
PHP - 検証名前、Eメール、およびURL
さて、スクリプトは次のようになります。
例
<?php
// define variables and set to empty values
$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"]);
// check if name
only contains letters and whitespace
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"]);
//
check if e-mail address is well-formed
if (!filter_var($email,
FILTER_VALIDATE_EMAIL)) {
$emailErr =
"Invalid email format";
}
}
if (empty($_POST["website"]))
{
$website = "";
} else {
$website = test_input($_POST["website"]);
// check if
URL address syntax is valid (this regular expression also allows dashes in
the 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"]);
}
}
?>
»実行例 次のステップは、ユーザーがフォームを送信したときに、すべての入力フィールドを空のフォームを防止する方法を示すことです。