ホームページ >バックエンド開発 >PHPチュートリアル >PHP 正規表現を使用して携帯電話番号または固定電話番号の形式を検証する方法

PHP 正規表現を使用して携帯電話番号または固定電話番号の形式を検証する方法

WBOY
WBOYオリジナル
2023-06-24 08:30:062469ブラウズ

Web アプリケーションを開発する場合、ユーザーが入力した携帯電話番号または固定電話番号が正しい形式であるかどうかを確認する必要があることがよくあります。検証を容易にし、入力が間違っているときにユーザーにプロンプ​​トを表示するために、PHP で正規表現を使用して、数値の形式が要件を満たしているかどうかを検出できます。

PHP 正規表現を使用して携帯電話番号または固定電話番号の形式を確認する方法を紹介します。

携帯電話番号の形式を確認する

中国本土の携帯電話番号は、1 から始まる 11 桁です。検証には次の正規表現を使用できます:

$phone_pattern = '/^1d{10}$/';

ここで:

  • ^ は文字列の先頭から一致を開始することを意味します
  • 1 は文字列で始まる必要があることを意味します数字 1
  • d は、任意の数字と一致することを意味します
  • {10} は、10 回繰り返された数字と一致することを意味します
  • $ は、文字列
  • # の末尾と一致することを意味します
##この通常のルール この式では、1 で始まる 11 桁の数値と条件が検証されることが保証されています。これを PHP コードに適用すると、次の例が得られます。

function check_mobile($mobile) {
    $phone_pattern = '/^1d{10}$/';
    if (preg_match($phone_pattern, $mobile)) {
        return true;
    } else {
        return false;
    }
}

// 示例测试
$mobile = '13712341234';
if (check_mobile($mobile)) {
    echo "手机号码格式正确";
} else {
    echo "手机号码格式错误";
}

固定電話番号の形式を確認する

固定電話番号の形式は比較的複雑で、固定電話番号の形式は地域によって異なります。北京の固定電話番号など 1または2から始まる10桁の番号です。 上海の固定電話番号は2などの8桁または9桁の番号です。ユニバーサル固定電話番号形式検証機能を実装するには、固定電話番号形式ごとに異なる正規表現を記述する必要があります。

以下では、例として北京と上海の固定電話番号を使用して、対応する正規表現の記述方法を示します。

北京地域の固定電話番号

北京の固定電話番号は、1 または 2 の数字で始まり、その後に 8 桁が続きます。検証には次の正規表現を使用できます:

$tel_pattern = '/^(010|02d)d{8}$/';

ここで:

    ^ は文字列の先頭から一致することを意味します
  • (010|02d) は 010 を意味しますor 02 先頭の 3 桁、| は or を意味し、d は任意の数字と一致することを意味します
  • d{8} は 8 つの数字と一致することを意味します
  • $ は文字列の末尾と一致することを意味します
この正規表現により、数値が 1 または 2 で始まり、その後に 8 桁が続くという条件を確実に検証できます。これを PHP コードに適用すると、次の例が得られます。

function check_tel_beijing($tel) {
    $tel_pattern = '/^(010|02d)d{8}$/';
    if (preg_match($tel_pattern, $tel)) {
        return true;
    } else {
        return false;
    }
}

// 示例测试
$tel = '01012345678';
if (check_tel_beijing($tel)) {
    echo "座机号码格式正确";
} else {
    echo "座机号码格式错误";
}

上海地域の固定電話番号

上海の固定電話番号は、数字の 2 で始まり、その後に 8 桁または 9 桁が続きます。検証には次の正規表現を使用できます:

$tel_pattern = '/^2d{7}(?:d{1})?$/';

ここで:

    ^ は文字列の先頭から一致を開始することを意味します
  • 2 は文字列で始まる必要があることを意味します数字 2
  • d{7} は 7 つの数字と一致することを意味します
  • (?:d{1})? は 1 つの数字と一致することを意味します、?: 非キャプチャグループを意味します、? は意味しますグループはオプションです
  • $ は文字列の末尾に一致することを意味します
この正規表現により、数値 2 で始まり 8 が続く条件を確実に検証できます。 9桁。これを PHP コードに適用すると、次の例が得られます。

function check_tel_shanghai($tel) {
    $tel_pattern = '/^2d{7}(?:d{1})?$/';
    if (preg_match($tel_pattern, $tel)) {
        return true;
    } else {
        return false;
    }
}

// 示例测试
$tel = '0211234567';
if (check_tel_shanghai($tel)) {
    echo "座机号码格式正确";
} else {
    echo "座机号码格式错误";
}

summary

PHP 正規表現を使用して携帯電話番号と固定電話番号の形式を検証すると、Web アプリケーションのユーザー入力データの精度が効果的に向上します。 。この記事では、検証用の正規表現の書き方を紹介します。この正規表現は、最も一般的な携帯電話番号および固定電話番号の形式に適しており、必要に応じて変更および拡張することもできます。

以上がPHP 正規表現を使用して携帯電話番号または固定電話番号の形式を検証する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。