PHP - 名前の検証
次のコードは、名前フィールドに文字とスペースが含まれているかどうかを簡単な方法で検出します。名前フィールドの値が不正な場合は、エラー メッセージが出力されます。
$name = test_input($_POST) ["name" ]);
if (!preg_match("/^[a-zA-Z ]*$/",$name))
{
$nameErr = "文字とスペースのみが許可されます";
}
preg_match — 正規表現のマッチングを実行します。
構文:
int preg_match ( string $pattern , string $subject [, array $matches [, int $flags ]] )
pattern で指定された正規表現と一致するものを件名文字列内で検索します。 。 一致するものが提供された場合は、検索結果が入力されます。 $matches[0] にはパターン全体に一致するテキストが含まれ、$matches[1] には括弧内の最初にキャプチャされたサブパターンに一致するテキストが含まれます。
正規表現については、次を参照してください: 正規表現 - チュートリアル
PHP - メール認証
次のコードは、電子メール アドレスが正当であるかどうかを簡単な方法でチェックします。電子メール アドレスが不正な場合、エラー メッセージが出力されます:
$email = test_input($_POST["email"]);
if (!preg_match("/([w- ]+@ [w-]+.[w-]+)/",$email))
{
$emailErr = "不正なメール形式";
} URL
以下コードは URL アドレスが正当かどうかをチェックします (ダッシュを含む URL で次の正規表現が実行されます: "-")。URL アドレスが不正な場合は、エラー メッセージが出力されます:
$website = test_input($) _POST ["ウェブサイト"]);
if (!preg_match("/b(?:(?:https?|ftp)://|www.)[-a-z0-9+&@# / %?=~_|!:,.;]*[-a-z0-9+&@#/%=~_|]/i",$website))
{
$ websiteerr = "不正な URL アドレス"; }
Php - 以下に示すように、名前、電子メール、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"]); } } ?>e
次のセクション