Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk mengesahkan nombor telefon bimbit dalam php

Bagaimana untuk mengesahkan nombor telefon bimbit dalam php

PHPz
PHPzasal
2023-03-29 10:13:314264semak imbas

Kaedah PHP untuk mengesahkan nombor telefon mudah alih

Nombor telefon mudah alih telah menjadi kaedah hubungan yang sangat diperlukan dalam kehidupan seharian orang ramai, dan pengesahan nombor telefon bimbit juga merupakan bahagian yang sangat penting. Dalam senario seperti pendaftaran laman web dan penerimaan SMS, untuk memastikan kesahihan dan ketepatan nombor telefon mudah alih, kami perlu menggunakan bahasa PHP untuk mengesahkan sama ada nombor telefon mudah alih itu sah. Dalam artikel ini, kami akan memperkenalkan secara terperinci cara menggunakan PHP untuk mengesahkan nombor telefon mudah alih daripada aspek berikut.

  1. Sahkan panjang nombor telefon bimbit

Di China, nombor telefon bimbit ialah 11 digit, jadi kami perlu mengesahkan dahulu sama ada nombor telefon mudah alih yang dimasukkan adalah 11 digit panjang, jika tidak Ia bukan nombor telefon mudah alih yang sah. Dalam PHP, anda boleh menggunakan fungsi strlen() untuk mendapatkan panjang rentetan dan menentukan sama ada nombor telefon mudah alih yang dimasukkan ialah 11 digit.

if (strlen($mobile) != 11) {
    // 不是一个合法的手机号码
}
  1. Sahkan tiga digit pertama nombor telefon mudah alih

Di China, tiga digit pertama nombor telefon mudah alih mewakili pengendali yang berbeza, jadi kami perlu untuk mengesahkan yang dimasukkan Tiga digit pertama nombor telefon disahkan untuk memastikan kesahihannya.

// 中国移动: 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. Sahkan format nombor telefon mudah alih

Di China, nombor telefon mudah alih mempunyai keperluan format tertentu termasuk yang berikut:

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

Oleh itu, kita perlu menggunakan ungkapan biasa untuk mengesahkan sama ada keperluan format di atas dipenuhi.

// 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. Gabungkan kaedah pengesahan di atas

Akhir sekali, kami menggabungkan tiga kaedah pengesahan di atas untuk melaksanakan pengesahan nombor telefon mudah alih dalam 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 '手机号码不合法';
}

Di atas ialah kaedah untuk mengesahkan nombor telefon bimbit dalam PHP Dengan menggabungkan tiga kaedah pengesahan di atas, anda boleh memastikan kesahihan dan ketepatan nombor telefon bimbit yang dimasukkan. Dalam pembangunan sebenar, kaedah ini juga boleh dirangkumkan ke dalam fungsi awam untuk memudahkan panggilan dalam pelbagai senario.

Atas ialah kandungan terperinci Bagaimana untuk mengesahkan nombor telefon bimbit dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn