Làm cách nào để ẩn số điện thoại di động trong PHP?

Một cách dễ dàng để định dạng số điện thoại trong PHP là gọi hàm substr() để tách các số của bạn như thế này

<?php
$phone_no = "+1735550162";

// 👇 format phone number
$format_phone =
    substr($phone_no, -10, -7) . "-" .
    substr($phone_no, -7, -4) . "-" .
    substr($phone_no, -4);

print $format_phone; // 173-555-0162

Như bạn có thể thấy, số +1735550162 được định dạng là 173-555-0162

Nhưng hãy nhớ rằng hàm substr() không thể xử lý các số điện thoại ở các định dạng khác nhau

Ví dụ: nếu bạn có các số ở định dạng quốc gia Hoa Kỳ như (111) 234 6789 thì đầu ra sẽ sai

Để xử lý các định dạng số điện thoại khác nhau, bạn cần sử dụng biểu thức chính quy và hàm preg_replace()

Định dạng số điện thoại bằng regex

Đây là một ví dụ để định dạng số điện thoại của Hoa Kỳ bằng regex

function format_phone(string $phone_no) {
    return preg_replace(
        "/.*(\d{3})[^\d]{0,7}(\d{3})[^\d]{0,7}(\d{4})/",
        '($1) $2-$3',
        $phone_no
    );
}

print format_phone("+1-555-549-4137"); // (555) 549-4137
print PHP_EOL;
print format_phone("(555) 096 7286"); // (555) 096-7286

Xin lưu ý rằng giải pháp trên chỉ hoạt động đối với các số điện thoại ở Hoa Kỳ

Số điện thoại từ các quốc gia khác có thể phá vỡ định dạng được tạo bằng biểu thức chính quy ở trên

Định dạng số điện thoại rất khó vì các định dạng và độ dài khác nhau

Nếu bạn muốn có một giải pháp định dạng số điện thoại hoàn chỉnh trong PHP, bạn cần viết rất nhiều mã cho tất cả các định dạng và độ dài có thể

Tôi khuyên bạn nên sử dụng thư viện

function format_phone(string $phone_no) {
    return preg_replace(
        "/.*(\d{3})[^\d]{0,7}(\d{3})[^\d]{0,7}(\d{4})/",
        '($1) $2-$3',
        $phone_no
    );
}

print format_phone("+1-555-549-4137"); // (555) 549-4137
print PHP_EOL;
print format_phone("(555) 096 7286"); // (555) 096-7286
0 để thay thế

Định dạng số điện thoại bằng libphonenumber

PHP libphonenumber là triển khai libphonenumber của Google, một thư viện được tạo để phân tích cú pháp, định dạng và xác thực số điện thoại

Bạn có thể cài đặt thư viện bằng trình soạn thảo, sau đó sử dụng thư viện trong mã của bạn

Ví dụ sau đây cho thấy cách bạn có thể phân tích cú pháp một số điện thoại từ Brazil

<?php
require __DIR__ . "/vendor/autoload.php";

use libphonenumber\NumberParseException;
use libphonenumber\PhoneNumber;
use libphonenumber\PhoneNumberFormat;
use libphonenumber\PhoneNumberUtil;

$phoneUtil = PhoneNumberUtil::getInstance();

$phone_no = "+55-955-590-0169";

try {
    // 👇 parse the number, pass the country code as second parameter
    $parsed_number = $phoneUtil->parse($phone_no, "BR");

    // 👇 get detailed output
    print "Input: " . $phone_no . "\n";
    print "Valid number: " .
        ($phoneUtil->isValidNumber($parsed_number) ? "true" : "false");
    print PHP_EOL;
    print "E164: " .
        $phoneUtil->format($parsed_number, PhoneNumberFormat::E164);
    print PHP_EOL;
    print "National: " .
        $phoneUtil->format($parsed_number, PhoneNumberFormat::NATIONAL);
    print PHP_EOL;
    print "International: " .
        $phoneUtil->format($parsed_number, PhoneNumberFormat::INTERNATIONAL);
    print PHP_EOL;
} catch (NumberParseException $e) {
    var_dump($e);
}

Đầu ra của đoạn mã trên sẽ là

Input: +55-955-590-0169
Valid number: true
E164: +559555900169
National: (95) 5590-0169
International: +55 95 5590-0169

Thay vì viết thư viện của riêng bạn, bạn có thể sử dụng

function format_phone(string $phone_no) {
    return preg_replace(
        "/.*(\d{3})[^\d]{0,7}(\d{3})[^\d]{0,7}(\d{4})/",
        '($1) $2-$3',
        $phone_no
    );
}

print format_phone("+1-555-549-4137"); // (555) 549-4137
print PHP_EOL;
print format_phone("(555) 096 7286"); // (555) 096-7286
0 để giúp bạn dễ dàng định dạng số điện thoại

Làm cách nào để che một số trong PHP?

Giấu số thẻ tín dụng bằng X trong PHP .
Hàm số. hàm maskCreditCard($cc) { $cc_length = strlen($cc);
Gọi hàm. $string = '8888-9999-6666-7777';
đầu ra. XXXX-XXXX-XXXX-7777

Bạn có thể che một số điện thoại di động?

Sử dụng *67 để ẩn số điện thoại của bạn . Mở bàn phím điện thoại của bạn và quay số * - 6 - 7, sau đó là số bạn đang cố gọi.

Làm cách nào để định dạng số điện thoại trong PHP?

Định dạng số điện thoại sử dụng substr() . Nhưng hãy nhớ rằng hàm substr() không thể xử lý các số điện thoại ở các định dạng khác nhau. Ví dụ: nếu bạn có các số ở định dạng quốc gia Hoa Kỳ như (111) 234 6789 thì đầu ra sẽ sai.

Làm cách nào để thay đổi số điện thoại di động trong PHP?

Thí dụ.