郵便番号は、住所を明確に特定できる非常に一般的に使用される住所識別子であり、目的の場所を迅速かつ正確に見つけることができます。 Web ページでは、ユーザーが正しい住所情報を入力できるように、郵便番号の形式が正しいかどうかを確認する必要があることがよくあります。ここでは、PHP 正規表現を使用して郵便番号形式を確認する方法を紹介します。
PHP では、preg_match() 関数を使用して正規表現を照合します。正規表現と照合する文字列を入力して、文字列が正規表現と一致するかどうかを判断できます。具体的な形式は次のとおりです。
preg_match(string $pattern, string $subject, [array &$matches])
$pattern は正規表現、$subject は文字列です。 $matches は、一致した部分文字列を格納するために使用されるオプションの出力変数です。戻り値が 1 の場合、照合は成功です。簡単な例を次に示します。
$subject = "hello world";
$pattern = "/world/";
$result = preg_match($pattern, $subject);
if ($result == 1) {
echo "匹配成功";
} else {
echo "匹配失败";
}
文字列「world」が見つかったため、上記のコードは「match success」を出力します。 $subject にあります。
では、正規表現を使用して郵便番号形式が正しいかどうかを判断するにはどうすればよいでしょうか?中国の郵便番号は 6 つの数字で構成されており、d を使用して数字を表し、{} を使用してこの文字の出現回数を制限できます。つまり、郵便番号の正規表現は次のようになります:
$pattern = "/^d{6}$/";
この正規表現の意味は次のとおりです。数字で始まり、6 つの数字が表示され、その後に文字列の終わりが続きます。これは中国の郵便番号の要件を満たしているため、正常に照合するには 6 つの数字のみを入力できます。
次は完全な PHP コードの例です。Web ページに郵便番号を入力して、形式が正しいかどうかを確認できます:
< html>
<meta charset="UTF-8"> <title>邮编格式验证</title>
<form method="post"> 请输入邮编:<input type="text" name="zip_code"><br> <input type="submit" value="验证"> </form> <?php if ($_SERVER["REQUEST_METHOD"] == "POST") { $zip_code = $_POST["zip_code"]; $pattern = "/^d{6}$/"; if (preg_match($pattern, $zip_code)) { echo "<p style='color:green'>邮编格式正确</p>"; } else { echo "<p style='color:red'>邮编格式错误</p>"; } } ?>