PHPフォーム - 検証メッセージとURL
このセクションでは、名前(名)、電子メール(スパム)、およびURLを確認する方法について説明します。
PHP - 名前を確認
次のコードは、エラーメッセージを出力しますフィールド名が名前フィールドの値が正当でない場合は、文字とスペースが含まれているかどうかを検出するための簡単な方法になります。
$name = test_input($_POST["name"]); if (!preg_match("/^[a-zA-Z ]*$/",$name)) { $nameErr = "只允许字母和空格"; }
preg_match - 正規表現によるマッチングを行います。 構文: int型のするpreg_match(文字列$パターン、文字列 $件名[、配列$マッチ[、int型$フラグ]]) 内容指定された正規表現と一致対象の文字列の検索パターンです。 一致する場合、検索の結果が充填されます。 $マッチは、[0] [1]というように、テキストにマッチした最初の撮影したサブパターンに括弧が含まれている、とします$マッチ、パターン全体がマッチするのテキストが含まれます。 |
PHP - 検証メッセージ
次のコードは、電子メールアドレスを検出するための簡単な方法が有効であることになります。 電子メールアドレスが有効でない場合、出力エラーメッセージは以下となります。
$email = test_input($_POST["email"]); if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email)) { $emailErr = "非法邮箱格式"; }
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 is required"; } else { $name = test_input($_POST["name"]); // 检测名字是否只包含字母跟空格 if (!preg_match("/^[a-zA-Z ]*$/",$name)) { $nameErr = "只允许字母和空格"; } } if (empty($_POST["email"])) { $emailErr = "Email is required"; } else { $email = test_input($_POST["email"]); // 检测邮箱是否合法 if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email)) { $emailErr = "非法邮箱格式"; } } if (empty($_POST["website"])) { $website = ""; } else { $website = test_input($_POST["website"]); // 检测 URL 地址是否合法 if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$website)) { $websiteErr = "非法的 URL 的地址"; } } if (empty($_POST["comment"])) { $comment = ""; } else { $comment = test_input($_POST["comment"]); } if (empty($_POST["gender"])) { $genderErr = "性别是必需的"; } else { $gender = test_input($_POST["gender"]); } } ?>