Maison  >  Article  >  développement back-end  >  Comment utiliser l'expression régulière PHP pour vérifier si la chaîne d'entrée est au format de numéro de téléphone mobile correct

Comment utiliser l'expression régulière PHP pour vérifier si la chaîne d'entrée est au format de numéro de téléphone mobile correct

PHPz
PHPzoriginal
2023-06-24 11:49:571960parcourir

À l'ère de l'Internet mobile, les numéros de téléphone mobile sont devenus un moyen de communication indispensable pour les gens. Dans le même temps, les formats des numéros de téléphone mobile se diversifient de plus en plus. Comment vérifier si le numéro de téléphone mobile saisi est au bon format via les expressions régulières PHP ? Cet article présentera en détail l'expression régulière PHP pour valider le format du numéro de téléphone mobile.

1. Identifiez le format du numéro de téléphone mobile

Avant de commencer à introduire la méthode de vérification du format du numéro de téléphone mobile à l'aide d'expressions régulières PHP, nous devons d'abord identifier le format du numéro de téléphone mobile. Les numéros de téléphone mobile en Chine continentale sont généralement divisés en 11 chiffres. Les formats courants sont les suivants :

  1. Les numéros de téléphone mobile commencent par 13, 14, 15, 16, 17, 18, 19, suivis de 9 chiffres.
  2. Le format du numéro de téléphone mobile chinois commence par 139, 138, 137, 136, 135, 134, 159, 158, 157, 150, 151, 152, 147, 182, 183, 184, 187, 188, 178, 198, etc.
  3. Le format du numéro de téléphone mobile China Unicom commence par 130, 131, 132, 155, 156, 185, 186, 145, 176, 166, etc.
  4. Les formats de numéros de téléphone mobile de China Telecom commencent par 133, 153, 180, 181, 189, 177, 173, etc.

2. Utilisez des expressions régulières pour vérifier le format du numéro de téléphone mobile

Utilisez des expressions régulières PHP pour vérifier le format du numéro de téléphone mobile, vous devez utiliser la fonction preg_match(). Cette fonction accepte deux paramètres, le premier paramètre est l'expression régulière et le deuxième paramètre est la chaîne à rechercher.

Voici quelques expressions régulières couramment utilisées :

  1. Accepte tous les nombres à 11 chiffres commençant par 1, quels que soient China Mobile, China Unicom et Telecom : /^1[0-9]{10}$/.

Explication : ^ signifie le début, $ signifie la fin, [0-9] signifie n'importe quel nombre de 0 à 9, {10} signifie que le nombre est répété 10 fois, c'est-à-dire qu'il y a 11 chiffres au total.

Exemple :

$pattern = '/^1[0-9]{10}$/';
$mobile_number = '13888888888';
if(preg_match($pattern, $mobile_number)){
    echo '手机号码格式正确!';
}else{
    echo '手机号码格式不正确!';
}

Sortie :

手机号码格式正确!
  1. Accepter tous les numéros de téléphone mobile : /^(13[4-9]|14[7-8]|15[0-2,7-9]|166|17 [2-8]|18[2-4,7-8]|19[8,9])d{8}$/.

Explication : | représente la relation de ou, [] représente la sélection d'un des caractères, - représente la plage, d représente n'importe quel nombre, {8} représente le nombre répété 8 fois, soit un total de 11 chiffres.

Exemple :

$pattern = '/^(13[4-9]|14[7-8]|15[0-2,7-9]|166|17[2-8]|18[2-4,7-8]|19[8,9])d{8}$/';
$mobile_number = '13988888888';
if(preg_match($pattern, $mobile_number)){
    echo '手机号码格式正确!';
}else{
    echo '手机号码格式不正确!';
}

Sortie :

手机号码格式不正确!
  1. Accepter tous les numéros de mobile China Unicom : /^(13[0-2]|15[5-6]|17[56]|18[5-6]|145 | 166)d{8}$/.

Explication : Idem que ci-dessus.

Exemple :

$pattern = '/^(13[0-2]|15[5-6]|17[56]|18[5-6]|145|166)d{8}$/';
$mobile_number = '13188888888';
if(preg_match($pattern, $mobile_number)){
    echo '手机号码格式正确!';
}else{
    echo '手机号码格式不正确!';
}

Sortie :

手机号码格式正确!
  1. Accepter tous les numéros de téléphone mobile de télécommunication : /^(133|153|170[0-2]|173|177|180|181|189|199)d{8} $/.

Explication : Idem que ci-dessus.

Exemple :

$pattern = '/^(133|153|170[0-2]|173|177|180|181|189|199)d{8}$/';
$mobile_number = '17012345678';
if(preg_match($pattern, $mobile_number)){
    echo '手机号码格式正确!';
}else{
    echo '手机号码格式不正确!';
}

Sortie :

手机号码格式正确!

3. Implémentez la vérification du format du numéro de téléphone mobile dans le programme

Ce qui suit est un programme PHP complet pour vérifier si le numéro de téléphone mobile saisi répond aux exigences de format de numéro de téléphone mobile de la Chine continentale. :

function validate_mobile_number($mobile_number){
    $reg_exs = [
            '/^1[0-9]{10}$/',//接受所有以1开头的11位数字,不区分移动、联通、电信
            '/^(13[4-9]|14[7-8]|15[0-2,7-9]|166|17[2-8]|18[2-4,7-8]|19[8,9])d{8}$/',//接受所有移动手机号码
            '/^(13[0-2]|15[5-6]|17[56]|18[5-6]|145|166)d{8}$/',//接受所有联通手机号码
            '/^(133|153|170[0-2]|173|177|180|181|189|199)d{8}$/'//接受所有电信手机号码
            ];
    foreach($reg_exs as $reg_ex){
        if(preg_match($reg_ex, $mobile_number)){
            return true;
        }
    }
    return false;
}

$mobile_number = '13312345678';

if(validate_mobile_number($mobile_number)){
    echo '手机号码格式正确!';
}else{
    echo '手机号码格式不正确!';
}

Sortie :

手机号码格式正确!

IV. Résumé

Cet article présente la méthode d'utilisation des expressions régulières PHP pour vérifier si la chaîne d'entrée est dans le format de numéro de téléphone mobile correct. Dans le développement réel, nous pouvons sélectionner les expressions régulières appropriées selon nos besoins et les intégrer dans le programme pour vérifier le format du numéro de téléphone mobile. J'espère que cet article pourra aider tout le monde à mieux maîtriser l'utilisation des expressions régulières PHP.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn