携帯電話の普及により、携帯電話番号は日常のコミュニケーションの重要な手段となりました。一部の Web サイトやアプリに登録してログインする場合、通常は、その後の認証と操作のために携帯電話番号の入力を求められます。ただし、情報の正確性と安全性を確保するために、入力された携帯電話番号の正当性も確認する必要があります。そこでこの記事では、PHPの正規表現を使って携帯電話番号の正当性を検証する方法を紹介します。
正規表現を使用して携帯電話番号を確認する場合は、まず携帯電話番号の標準形式を理解する必要があります。現在、私の国の携帯電話番号の標準形式は 11 桁で、最初の 3 桁は携帯電話ネットワークの標準番号範囲です (たとえば、チャイナモバイルの番号範囲は 134 ~ 139、147、150 ~ 152、157)。 -159、182-189 など)、最後の 8 桁は携帯電話番号です。携帯電話番号の形式が変更されると認証効果に影響が出る可能性があるため、最新の番号セグメント情報を把握しておく必要があります。
PHP の正規表現は、一致に preg_match 関数を使用します。その基本的な構文形式は次のとおりです:
preg_match ( string $pattern , string $subject [, array &$matches [, int $flags = 0 [, int $offset = 0 ]]] )
where , $ pattern は正規表現パターン、$subject は照合する文字列、$matches は照合結果、$flags は照合フラグ、$offset は照合の開始位置です。
PHP では、携帯電話番号を検証するための正規表現は、携帯電話の規則を満たしながら 11 桁を照合することで実現できます。数字を達成する。 China Mobile、China Unicom、Telecom などの異なる番号セグメントについては、異なる番号セグメントに対して異なる正規表現を作成できます。
携帯電話番号を確認するための正規表現:
/^((13[4-9]|147|15[0127-9]|178|18[23478]|198)d{8})$/
ここで、^ は文字列の開始位置を表し、$ は文字列の終了位置を表し、| は or を表し、[] はオプションの文字を表します、d は数値を表し、{8} は 8 回の繰り返しを表し、括弧はグループ化を表します。
チャイナ ユニコムの携帯電話番号を確認するための正規表現:
/^((13[0-2]|145|15[56]|166|17[156]|18[56])d{8})$/
チャイナ テレコムの携帯電話番号を確認するための正規表現:
/^((133|149|153|173|177|180|181|189|199)d{8})$/
3 つの演算子の包括的な正規表現:
/^((13[0-9]|14[5-9]|15[0123456789]|16[56]|17[0123456789]|18[0123456789]|19[89])d{8})$/
以下では、簡単な PHP の例を使用して、PHP で正規表現を使用して携帯電話番号の有効性を検証する方法を示します。
<?php $mobile = '13123456789'; // 待验证的手机号码 $pattern = '/^((13[0-9]|14[5-9]|15[0123456789]|16[56]|17[0123456789]|18[0123456789]|19[89])d{8})$/'; // 手机号码的正则表达式 if (preg_match($pattern, $mobile)) { echo '手机号码验证成功'; } else { echo '手机号码验证失败'; } ?>
上記のコードでは、preg_match関数に検証対象の携帯電話番号と携帯電話番号を検証するための正規表現を渡し、関数の戻り値を利用して携帯電話番号の正当性を判定しています。番号。
上記の手順により、PHP 正規表現を使用して携帯電話番号の有効性を検証し、情報の正確性とセキュリティを効果的に確保することができました。 。実際のプロジェクトでは、実際のビジネス ニーズを満たすために、さまざまなニーズに応じて携帯電話番号の正規表現を調整できます。同時に、正規表現のパフォーマンスと複雑さが、システムの負荷とメンテナンスの難易度に一定の影響を与えることにも注意する必要があります。
以上がPHP 正規表現を使用して携帯電話番号の有効性を確認する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。