Maison  >  Article  >  développement back-end  >  Comment valider le format d'un numéro de téléphone mobile ou d'un numéro de téléphone fixe avec une expression régulière PHP

Comment valider le format d'un numéro de téléphone mobile ou d'un numéro de téléphone fixe avec une expression régulière PHP

WBOY
WBOYoriginal
2023-06-24 08:30:062456parcourir

Lors du développement d'applications Web, il est souvent nécessaire de vérifier si le numéro de téléphone mobile ou le numéro de téléphone fixe saisi par l'utilisateur est au bon format. Afin de faciliter la vérification et d'avertir l'utilisateur à temps lorsque la saisie est incorrecte, nous pouvons utiliser des expressions régulières en PHP pour détecter si le format du nombre répond aux exigences.

Ce qui suit explique comment utiliser les expressions régulières PHP pour vérifier le format du numéro de téléphone mobile ou du numéro de téléphone fixe.

Vérifiez le format du numéro de téléphone mobile

Les numéros de téléphone mobile en Chine continentale comportent 11 chiffres commençant par 1. Vous pouvez utiliser l'expression régulière suivante pour vérification :

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

où :

  • ^ signifie correspondre à partir du début de la chaîne
  • 1 signifie qu'elle doit commencer par le chiffre 1
  • d signifie correspondre à n'importe quel caractère numérique
  • {10 } signifie correspondre aux nombres Caractères répétés 10 fois
  • $ signifie correspondre jusqu'à la fin de la chaîne

Cette expression régulière peut garantir la vérification de 11 chiffres et des conditions commençant par 1. En l'appliquant au code PHP, vous pouvez obtenir l'exemple suivant :

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 "手机号码格式错误";
}

Vérifiez le format du numéro de téléphone fixe

Le format du numéro de téléphone fixe est relativement complexe et le format du numéro de téléphone fixe est différent selon les régions. Par exemple, le numéro de téléphone fixe à Pékin. est composé de 10 chiffres, commençant par le chiffre 1 Ou commençant par 2, le numéro de téléphone fixe à Shanghai est composé de 8 ou 9 chiffres, commençant par le chiffre 2, etc. Afin de mettre en œuvre une fonction universelle de vérification du format de numéro de téléphone fixe, différentes expressions régulières doivent être écrites pour différents formats de numéro de téléphone fixe.

Ce qui suit prend comme exemples les numéros de téléphone fixe à Pékin et Shanghai pour montrer comment écrire les expressions régulières correspondantes.

Numéros fixes de la région de Pékin

Les numéros fixes de Pékin commencent par le chiffre 1 ou 2, suivi de 8 chiffres. Vous pouvez utiliser l'expression régulière suivante pour la vérification :

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

où :

  • ^ signifie une correspondance depuis le début de la chaîne
  • (010|02d) signifie trois chiffres commençant par 010 ou 02, | signifie ou, d signifie une correspondance n'importe quel caractère numérique
  • d{8} signifie correspondre à 8 caractères numériques
  • $ signifie correspondre à la fin de la chaîne

Cette expression régulière peut garantir la condition de vérifier que le nombre commence par 1 ou 2 et est suivi de 8 caractères numériques. En appliquant cela au code PHP, vous pouvez obtenir l'exemple suivant :

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 "座机号码格式错误";
}

Numéro fixe de la région de Shanghai

Le numéro de téléphone fixe à Shanghai commence par le chiffre 2, suivi de 8 ou 9 chiffres. Vous pouvez utiliser l'expression régulière suivante pour vérification :

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

où :

  • ^ signifie correspondre à partir du début de la chaîne
  • 2 signifie qu'elle doit commencer par le chiffre 2
  • d{7} signifie correspondre à 7 caractères numériques
  • (? :d{1})? signifie correspondre à 1 caractère numérique, ? : signifie un groupe non capturant, ? signifie que le groupe est facultatif
  • $ signifie correspondre à la fin de la chaîne

Cette expression régulière peut garantir que la vérification commence par le chiffre 2, Et suivi de la condition de 8 ou 9 caractères numériques. En appliquant cela au code PHP, vous pouvez obtenir l'exemple suivant :

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 "座机号码格式错误";
}

Résumé

L'utilisation d'expressions régulières PHP pour vérifier les formats de numéro de téléphone mobile et de numéro de téléphone fixe peut améliorer efficacement la précision des données saisies par l'utilisateur dans les applications Web. Cet article explique comment écrire des expressions régulières pour la vérification, qui conviennent aux formats de numéros de téléphone mobile et de numéro de téléphone fixe les plus courants, et peuvent également être modifiées et étendues selon les besoins.

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