ホームページ  >  記事  >  バックエンド開発  >  PHPで携帯電話番号を確認する方法

PHPで携帯電話番号を確認する方法

PHPz
PHPzオリジナル
2023-03-29 10:13:314247ブラウズ

PHP 携帯電話番号認証方法

携帯電話番号は人々の日常生活に欠かせない連絡手段となっており、携帯電話番号の認証も非常に重要な部分です。 Web サイトの登録や SMS の受信などのシナリオでは、携帯電話番号の合法性と正確性を確保するために、PHP 言語を使用して携帯電話番号が合法かどうかを確認する必要があります。今回は、PHPを使って携帯電話番号を認証する方法を以下の観点から詳しくご紹介します。

  1. 携帯電話番号の長さを確認してください

中国では携帯電話番号は 11 桁なので、まず入力された携帯電話番号が 11 桁であるかどうかを確認する必要があります。 11 桁の長さである場合、それ以外の場合は正規の携帯電話番号ではありません。 PHP では、strlen() 関数を使用して文字列の長さを取得し、入力された携帯電話番号が 11 桁かどうかを判断できます。

if (strlen($mobile) != 11) {
    // 不是一个合法的手机号码
}
  1. 携帯電話番号の最初の 3 桁を確認してください

中国では、携帯電話番号の最初の 3 桁が異なる通信事業者を表すため、確認する必要があります。入力された携帯電話番号の最初の 3 桁を検証​​して、その正当性を確認します。

// 中国移动: 134/135/136/137/138/139/150/151/152/157/158/159/182/183/184/187/188/198
// 中国联通: 130/131/132/155/156/185/186/166
// 中国电信: 133/149/153/173/177/180/181/189/199

$prefix = substr($mobile, 0, 3); // 截取前三位

if (!in_array($prefix, ['134', '135', '136', '137', '138', '139', '150', '151', '152', '157', '158', '159', '182', '183', '184', '187', '188', '198', '130', '131', '132', '155', '156', '185', '186', '166', '133', '149', '153', '173', '177', '180', '181', '189', '199'])) {
    // 不是一个合法的手机号码
}
  1. 携帯電話番号の形式を確認する

中国では、携帯電話番号には特定の形式要件があります。一般的な形式は次のとおりです:

// 11位数字,如:13912345678
// 带区号的11位数字,如:02012345678、075512345678
// 带“-”的11位数字,如:139-1234-5678、020-1234-5678、0755-1234-5678

したがって、正規表現を使用して、上記の形式要件が満たされているかどうかを確認する必要があります。

// 11位数字
if (!preg_match('/^1[3-9]\d{9}$/', $mobile)) {
    // 不是一个合法的手机号码
}

// 带区号的11位数字
if (!preg_match('/^0\d{2,3}\d{7,8}$/', $mobile)) {
    // 不是一个合法的手机号码
}

// 带“-”的11位数字
if (!preg_match('/^(\d{3}-|\d{4}-)?\d{7,8}$/', $mobile)) {
    // 不是一个合法的手机号码
}
  1. 上記の検証方法を組み合わせる

最後に、上記の 3 つの検証方法を組み合わせて、PHP で携帯電話番号の検証を実装します。

function validateMobile($mobile) {
    if (strlen($mobile) != 11) {
        return false;
    }

    $prefix = substr($mobile, 0, 3);
    if (!in_array($prefix, ['134', '135', '136', '137', '138', '139', '150', '151', '152', '157', '158', '159', '182', '183', '184', '187', '188', '198', '130', '131', '132', '155', '156', '185', '186', '166', '133', '149', '153', '173', '177', '180', '181', '189', '199'])) {
        return false;
    }

    if (!preg_match('/^1[3-9]\d{9}$/', $mobile) && !preg_match('/^0\d{2,3}\d{7,8}$/', $mobile) && !preg_match('/^(\d{3}-|\d{4}-)?\d{7,8}$/', $mobile)) {
        return false;
    }

    return true;
}

// 示例
if (validateMobile('13912345678')) {
    echo '手机号码合法';
} else {
    echo '手机号码不合法';
}

上記は PHP で携帯電話番号を検証する方法であり、上記 3 つの検証方法を組み合わせることで、入力された携帯電話番号の合法性と正確性を効果的に保証できます。実際の開発では、このメソッドをパブリック関数にカプセル化して、複数のシナリオでの呼び出しを容易にすることもできます。

以上がPHPで携帯電話番号を確認する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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