Maison >développement back-end >Problème PHP >Comment vérifier le numéro de téléphone mobile en php

Comment vérifier le numéro de téléphone mobile en php

PHPz
PHPzoriginal
2023-03-29 10:13:314268parcourir

Méthode de vérification du numéro de téléphone mobile PHP

Les numéros de téléphone mobile sont devenus une méthode de contact indispensable dans la vie quotidienne des gens, et la vérification des numéros de téléphone mobile est également un élément très important. Dans des scénarios tels que l'enregistrement sur un site Web et la réception de SMS, afin de garantir la légalité et l'exactitude du numéro de téléphone mobile, nous devons utiliser le langage PHP pour vérifier si le numéro de téléphone mobile est légal. Dans cet article, nous présenterons en détail comment utiliser PHP pour vérifier les numéros de téléphone mobile sous les aspects suivants.

  1. Vérifiez la longueur du numéro de téléphone portable

En Chine, le numéro de téléphone portable est de 11 chiffres, nous devons donc d'abord vérifier si le numéro de téléphone portable saisi comporte 11 chiffres, sinon ce n'est pas un mobile légal numéro de téléphone. En PHP, vous pouvez utiliser la fonction strlen() pour obtenir la longueur de la chaîne et déterminer si le numéro de téléphone mobile saisi comporte 11 chiffres.

if (strlen($mobile) != 11) {
    // 不是一个合法的手机号码
}
  1. Vérifiez les trois premiers chiffres du numéro de téléphone mobile

En Chine, les trois premiers chiffres du numéro de téléphone mobile représentent différents opérateurs, nous devons donc vérifier les trois premiers chiffres du numéro de téléphone mobile saisi pour nous assurer sa légitimité.

// 中国移动: 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. Vérifiez le format des numéros de téléphone mobile

En Chine, les numéros de téléphone mobile ont certaines exigences de format. Les formats courants sont les suivants :

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

Par conséquent, nous devons utiliser des expressions régulières pour vérifier si les exigences de format ci-dessus sont respectées. rencontré.

// 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. Combiné avec les méthodes de vérification ci-dessus

Enfin, nous combinons les trois méthodes de vérification ci-dessus pour implémenter la vérification du numéro de téléphone mobile en 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 '手机号码不合法';
}

Ce qui précède est la méthode pour vérifier le numéro de téléphone mobile en PHP En combinant les trois méthodes de vérification ci-dessus, vous pouvez garantir efficacement la légalité et l'exactitude du numéro de téléphone mobile saisi. En développement réel, cette méthode peut également être encapsulée dans une fonction publique pour faciliter les appels dans plusieurs scénarios.

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