PHP フォーム検証 - Eメールおよび 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メールの検証
以下のコードは、Eメールの文法が有効かどうかを確認する簡単な方法を示しています。無効であれば、エラーメッセージを保存します:
$email = test_input($_POST["email"]); if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email)) { $emailErr = "無効な email フォーマット!"; }
PHP - URLの検証
以下のコードは、URLの文法が有効かどうかを確認する方法を示しています(この正規表現は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 - 名前、Eメール、および URL の検証
今、スクリプトは以下のようになっています:
例
<?php // 変数を定義し、空値に設定 $nameErr = $emailErr = $genderErr = $websiteErr = ""; $name = $email = $gender = $comment = $website = ""; if ($_SERVER["REQUEST_METHOD"] == "POST") { if (empty($_POST["name"])) { $nameErr = "名前が必要です"; } $name = test_input($_POST["name"]); // 名前がアルファベットとスペースのみを含むか確認 if (!preg_match("/^[a-zA-Z ]*$/",$name)) { $nameErr = "只允许字母和空格"; } } if (empty($_POST["email"])) { $emailErr = "メールが必要です"; } $email = test_input($_POST["email"]); // メールアドレスの文法が有効か確認 if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email)) { $emailErr = "無効なメールフォーマット"; } } if (empty($_POST["website"])) { $website = ""; } $website = test_input($_POST["website"]); // URL アドレスの言語が有効かどうかを確認します(この正規表現は URL 内のアンダースコアも許可しています) if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%", =~_|]/i",$website)) { $websiteErr = "無効な URL"; } } if (empty($_POST["comment"])) { $comment = ""; } $comment = test_input($_POST["comment"]); } if (empty($_POST["gender"])) { $genderErr = "性別が必要です"; } $gender = test_input($_POST["gender"]); } } ?>
次に、ユーザーがフォームを提出した後にすべての入力フィールドがクリアされるのを防ぐ方法について説明します。
- 前のページ PHP フォームの必須項目
- 次のページ PHP フォームの完了