Hướng dẫn php convert phone number to international format - php chuyển đổi số điện thoại sang định dạng quốc tế

2

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Tôi sử dụng API SMS để gửi mã xác nhận đến điện thoại. Các tham số của nó yêu cầu tôi đặt định dạng số điện thoại của khách truy cập thành quốc tế, ví dụ: +9912345678 thay vì 012 345 678. Có lớp PHP (không có trình soạn thảo) sẽ làm điều đó cho tôi (không thể tìm thấy bất cứ điều gì cho đến nay trên GG), Xem xét tôi biết cả hai quốc gia của người dùng (từ đầu vào được chọn) và số (từ đầu vào văn bản) anh ấy đã gửi trên trang web trước?
Its parameters requires me to set the visitors phone number format into international, for example +9912345678 instead of 012 345 678.
Is there a php class (without Composer) that would do it for me (could not find anything so far on GG), considering I know user's both country (from a select input) and number (from a text input) he submitted on the previous webpage?

Hướng dẫn php convert phone number to international format - php chuyển đổi số điện thoại sang định dạng quốc tế

Vadim Kotov

7.8648 Huy hiệu vàng47 Huy hiệu bạc61 Huy hiệu Đồng8 gold badges47 silver badges61 bronze badges

Hỏi ngày 6 tháng 4 năm 2016 lúc 14:28Apr 6, 2016 at 14:28

Bạn có thể làm điều này rất dễ dàng bằng cách chỉ thay thế 0 bằng mã quốc gia.

Example:

$originalNumber = '012345678';
$countryCode = '+99'; // Replace with known country code of user.
$internationalNumber = preg_replace('/^0/', $countryCode, $originalNumber);
echo $internationalNumber; // Will output: +9912345678

Hi vọng điêu nay co ich.

Đã trả lời ngày 6 tháng 4 năm 2016 lúc 14:34Apr 6, 2016 at 14:34

HusohusoHuso

1.4739 huy hiệu bạc14 Huy hiệu đồng9 silver badges14 bronze badges

1

Trước đây tôi đã sử dụng thư viện này (không có nhà soạn nhạc) và hoạt động tốt: https://github.com/davideme/libphonenumber-for-php

Bạn chỉ phải include trong PHP PhoneNumberUtil.php của mình và tệp đó biết những gì khác cần bao gồm.

Bạn có thể định dạng một số như thế này:

$swissNumberStr = "044 668 18 00";
$phoneUtil = PhoneNumberUtil::getInstance();
try {
    $swissNumberProto = $phoneUtil->parseAndKeepRawInput($swissNumberStr, "CH");
    var_dump($swissNumberProto);
} catch (NumberParseException $e) {
    echo $e;
}
echo $phoneUtil->format($swissNumberProto, PhoneNumberFormat::INTERNATIONAL)

Kiểm tra demo.php để xem thêm ví dụ về cách sử dụng thư viện.

Đã trả lời ngày 6 tháng 4 năm 2016 lúc 14:38Apr 6, 2016 at 14:38

Hướng dẫn php convert phone number to international format - php chuyển đổi số điện thoại sang định dạng quốc tế

Daniel Dudasdaniel DudasDaniel Dudas

2.9543 huy hiệu vàng25 Huy hiệu bạc39 Huy hiệu đồng3 gold badges25 silver badges39 bronze badges

0

Dựa trên câu trả lời @Huso, tôi đã viết chức năng sau để định dạng và vệ sinh (xóa dấu gạch ngang, dấu chấm và không gian) Số điện thoại:function to format and sanitize (remove dashes, dots and spaces) phone numbers :

function phonize($phoneNumber, $country) {

    $countryCodes = array(
        'ch' => '+41',
        'de' => '+43',
        'it' => '+39'
    );

    return preg_replace('/[^0-9+]/', '',
           preg_replace('/^0/', $countryCodes[$country], $phoneNumber));
}

Sử dụng :

$phone   = '022 123 43 65';
$country = 'ch';

$phone   = phonize($phone, $country);

Đã trả lời ngày 24 tháng 2 năm 2021 lúc 13:20Feb 24, 2021 at 13:20

MelomanmelomanMeloman

3.2903 Huy hiệu vàng39 Huy hiệu bạc45 Huy hiệu Đồng3 gold badges39 silver badges45 bronze badges

Tôi thường cần phải che giấu số điện thoại di động thành định dạng quốc tế của Vương quốc Anh là 44, sau đó là số như 442548951486 Các số tôi làm việc có thể ở định dạng hỗn hợp mà không bắt đầu 0 người khác với 44 và tương tự với không gian, vì vậy tôi đã viết chức năng mà Sẽ chuyển đổi một số trong bất kỳ hỗn hợp nào thành một định dạng tiêu chuẩn nhanh chóng và dễ dàng và vì tất cả các mã nằm trong một hàm có thể tái sử dụng, điều đó có nghĩa là chuyển đổi số lượng với số lượng lớn giờ đây rất dễ thực hiện.

Hàm đơn giản cần một số chuyển sang nó, một kiểm tra được thực hiện để đảm bảo số chỉ chứa số thì kiểm tra được thực hiện để xem số bắt đầu bằng 0 nếu không nếu sẽ thêm 0 miễn là việc bắt đầu không 4. Sau đó, một kiểm tra được thực hiện để thay thế 0 bằng 44 sau đó cuối cùng bất kỳ khoảng trống nào được gỡ bỏ và số được định dạng sau đó được trả về.

Đây là chức năng:

Ví dụ sử dụng:

echo format_number('07295514973');

Làm cách nào để đặt số điện thoại của tôi ở định dạng quốc tế?

Định dạng số điện thoại quốc tế Khi thêm số điện thoại quốc tế, nhập dấu +, sau đó mã quốc gia theo sau là số địa phương. Xem các ví dụ dưới đây hoặc tìm kiếm mã quốc gia của riêng bạn.type the + sign, then the country code followed by the local number. See the examples below, or search for your own country code.

Định dạng số PHP là gì?

Hàm number_format () là một hàm sẵn có trong PHP được sử dụng để định dạng một số với hàng ngàn được nhóm.Nó trả về số được định dạng trên thành công nếu không nó mang lại cho E_Warning khi thất bại.Cú pháp: chuỗi number_format ($ number, $ decimals, $ decimalpoint, $ sep)used to format a number with grouped thousands. It returns the formatted number on success otherwise it gives E_WARNING on failure. Syntax: string number_format ( $number, $decimals, $decimalpoint, $sep )

Làm thế nào bạn có thể thay đổi hàng ngàn phân tách bằng Number_format ()?

Hàm number_format () làm tròn số và thêm dấu phẩy dưới dạng dấu phân cách hàng ngàn ...
Number_format ($ n) làm tròn $ n cho toàn bộ số gần nhất và thêm dấu phẩy ở giữa hàng ngàn.....
Number_format ($ n, $ p) Vòng $ N đến $ P Các vị trí thập phân, thêm dấu phẩy giữa hàng ngàn ..

Làm thế nào để bạn định dạng một số điện thoại?

Để định dạng số điện thoại ở Mỹ, Canada và các quốc gia NANP (Kế hoạch đánh số Bắc Mỹ) khác, đặt mã khu vực theo dấu ngoặc đơn, sau đó là một không gian không phá vỡ, và sau đó gạch nối mã trao đổi ba chữ số với số bốn chữ số.enclose the area code in parentheses followed by a nonbreaking space, and then hyphenate the three-digit exchange code with the four-digit number.