PHP xóa dấu gạch ngang khỏi số điện thoại

Cách tốt nhất để thêm dấu gạch ngang vào số điện thoại trong PHP là gì? . Điều này chỉ áp dụng cho các số điện thoại 10 chữ số của Hoa Kỳ

Giải pháp tốt nhất

$number = "1234567890";
$formatted_number = preg_replace["/^[\d{3}][\d{3}][\d{4}]$/", "$1-$2-$3", $number];

CHỈNH SỬA. Để chung chung hơn một chút và bình thường hóa số điện thoại ở Hoa Kỳ được cung cấp ở bất kỳ định dạng nào [đây là thông lệ phổ biến - không có lý do gì để buộc mọi người nhập số điện thoại ở định dạng cụ thể, vì tất cả những gì bạn quan tâm

function localize_us_number[$phone] {
  $numbers_only = preg_replace["/[^\d]/", "", $phone];
  return preg_replace["/^1?[\d{3}][\d{3}][\d{4}]$/", "$1-$2-$3", $numbers_only];
}

echo localize_us_number["5551234567"], "\n";
echo localize_us_number["15551234567"], "\n";
echo localize_us_number["+15551234567"], "\n";
echo localize_us_number["[555] 123-4567"], "\n";
echo localize_us_number["+1 [555] 123-4567"], "\n";
echo localize_us_number["Phone: 555 1234567 or something"], "\n";

Giải pháp liên quan

Php – Cách kiểm tra xem mảng PHP là liên kết hay tuần tự

Bạn đã hỏi hai câu hỏi không hoàn toàn tương đương

  • Thứ nhất, làm thế nào để xác định xem một mảng chỉ có các phím số
  • Thứ hai, cách xác định một mảng có các phím số liên tiếp bắt đầu từ 0 hay không

Xem xét những hành vi nào bạn thực sự cần. [Có thể là một trong hai sẽ làm cho mục đích của bạn. ]

Câu hỏi đầu tiên [chỉ cần kiểm tra xem tất cả các phím có phải là số không] đã được Đội trưởng kurO trả lời tốt

Đối với câu hỏi thứ hai [kiểm tra xem mảng có được lập chỉ mục bằng 0 và theo thứ tự hay không], bạn có thể sử dụng hàm sau

function isAssoc[array $arr]
{
    if [array[] === $arr] return false;
    return array_keys[$arr] !== range[0, count[$arr] - 1];
}

var_dump[isAssoc[['a', 'b', 'c']]]; // false
var_dump[isAssoc[["0" => 'a', "1" => 'b', "2" => 'c']]]; // false
var_dump[isAssoc[["1" => 'a', "0" => 'b', "2" => 'c']]]; // true
var_dump[isAssoc[["a" => 'a', "b" => 'b', "c" => 'c']]]; // true

Php – Xóa phần tử khỏi mảng trong PHP

Có nhiều cách khác nhau để xóa một phần tử mảng, trong đó một số cách hữu ích cho một số tác vụ cụ thể hơn những cách khác

Xóa một phần tử mảng

Nếu bạn chỉ muốn xóa một phần tử mảng, bạn có thể sử dụng

function localize_us_number[$phone] {
  $numbers_only = preg_replace["/[^\d]/", "", $phone];
  return preg_replace["/^1?[\d{3}][\d{3}][\d{4}]$/", "$1-$2-$3", $numbers_only];
}

echo localize_us_number["5551234567"], "\n";
echo localize_us_number["15551234567"], "\n";
echo localize_us_number["+15551234567"], "\n";
echo localize_us_number["[555] 123-4567"], "\n";
echo localize_us_number["+1 [555] 123-4567"], "\n";
echo localize_us_number["Phone: 555 1234567 or something"], "\n";
2 hoặc cách khác là
function localize_us_number[$phone] {
  $numbers_only = preg_replace["/[^\d]/", "", $phone];
  return preg_replace["/^1?[\d{3}][\d{3}][\d{4}]$/", "$1-$2-$3", $numbers_only];
}

echo localize_us_number["5551234567"], "\n";
echo localize_us_number["15551234567"], "\n";
echo localize_us_number["+15551234567"], "\n";
echo localize_us_number["[555] 123-4567"], "\n";
echo localize_us_number["+1 [555] 123-4567"], "\n";
echo localize_us_number["Phone: 555 1234567 or something"], "\n";
3

Nếu bạn biết giá trị và không biết key để xóa phần tử có thể dùng

function localize_us_number[$phone] {
  $numbers_only = preg_replace["/[^\d]/", "", $phone];
  return preg_replace["/^1?[\d{3}][\d{3}][\d{4}]$/", "$1-$2-$3", $numbers_only];
}

echo localize_us_number["5551234567"], "\n";
echo localize_us_number["15551234567"], "\n";
echo localize_us_number["+15551234567"], "\n";
echo localize_us_number["[555] 123-4567"], "\n";
echo localize_us_number["+1 [555] 123-4567"], "\n";
echo localize_us_number["Phone: 555 1234567 or something"], "\n";
4 để lấy key. Điều này chỉ hoạt động nếu phần tử không xảy ra nhiều lần, vì
function localize_us_number[$phone] {
  $numbers_only = preg_replace["/[^\d]/", "", $phone];
  return preg_replace["/^1?[\d{3}][\d{3}][\d{4}]$/", "$1-$2-$3", $numbers_only];
}

echo localize_us_number["5551234567"], "\n";
echo localize_us_number["15551234567"], "\n";
echo localize_us_number["+15551234567"], "\n";
echo localize_us_number["[555] 123-4567"], "\n";
echo localize_us_number["+1 [555] 123-4567"], "\n";
echo localize_us_number["Phone: 555 1234567 or something"], "\n";
5 chỉ trả về lần truy cập đầu tiên

function localize_us_number[$phone] {
  $numbers_only = preg_replace["/[^\d]/", "", $phone];
  return preg_replace["/^1?[\d{3}][\d{3}][\d{4}]$/", "$1-$2-$3", $numbers_only];
}

echo localize_us_number["5551234567"], "\n";
echo localize_us_number["15551234567"], "\n";
echo localize_us_number["+15551234567"], "\n";
echo localize_us_number["[555] 123-4567"], "\n";
echo localize_us_number["+1 [555] 123-4567"], "\n";
echo localize_us_number["Phone: 555 1234567 or something"], "\n";
2

Lưu ý rằng khi bạn sử dụng

function localize_us_number[$phone] {
  $numbers_only = preg_replace["/[^\d]/", "", $phone];
  return preg_replace["/^1?[\d{3}][\d{3}][\d{4}]$/", "$1-$2-$3", $numbers_only];
}

echo localize_us_number["5551234567"], "\n";
echo localize_us_number["15551234567"], "\n";
echo localize_us_number["+15551234567"], "\n";
echo localize_us_number["[555] 123-4567"], "\n";
echo localize_us_number["+1 [555] 123-4567"], "\n";
echo localize_us_number["Phone: 555 1234567 or something"], "\n";
2, các khóa của mảng sẽ không thay đổi. Nếu bạn muốn lập chỉ mục lại các khóa, bạn có thể sử dụng
function localize_us_number[$phone] {
  $numbers_only = preg_replace["/[^\d]/", "", $phone];
  return preg_replace["/^1?[\d{3}][\d{3}][\d{4}]$/", "$1-$2-$3", $numbers_only];
}

echo localize_us_number["5551234567"], "\n";
echo localize_us_number["15551234567"], "\n";
echo localize_us_number["+15551234567"], "\n";
echo localize_us_number["[555] 123-4567"], "\n";
echo localize_us_number["+1 [555] 123-4567"], "\n";
echo localize_us_number["Phone: 555 1234567 or something"], "\n";
8 sau
function localize_us_number[$phone] {
  $numbers_only = preg_replace["/[^\d]/", "", $phone];
  return preg_replace["/^1?[\d{3}][\d{3}][\d{4}]$/", "$1-$2-$3", $numbers_only];
}

echo localize_us_number["5551234567"], "\n";
echo localize_us_number["15551234567"], "\n";
echo localize_us_number["+15551234567"], "\n";
echo localize_us_number["[555] 123-4567"], "\n";
echo localize_us_number["+1 [555] 123-4567"], "\n";
echo localize_us_number["Phone: 555 1234567 or something"], "\n";
2, điều này sẽ chuyển đổi tất cả các khóa thành các khóa được liệt kê bằng số bắt đầu từ 0

Mã số

$number = "1234567890";
$formatted_number = preg_replace["/^[\d{3}][\d{3}][\d{4}]$/", "$1-$2-$3", $number];
2

đầu ra

$number = "1234567890";
$formatted_number = preg_replace["/^[\d{3}][\d{3}][\d{4}]$/", "$1-$2-$3", $number];
3

phương pháp
function localize_us_number[$phone] {
  $numbers_only = preg_replace["/[^\d]/", "", $phone];
  return preg_replace["/^1?[\d{3}][\d{3}][\d{4}]$/", "$1-$2-$3", $numbers_only];
}

echo localize_us_number["5551234567"], "\n";
echo localize_us_number["15551234567"], "\n";
echo localize_us_number["+15551234567"], "\n";
echo localize_us_number["[555] 123-4567"], "\n";
echo localize_us_number["+1 [555] 123-4567"], "\n";
echo localize_us_number["Phone: 555 1234567 or something"], "\n";
3

Nếu bạn sử dụng

function localize_us_number[$phone] {
  $numbers_only = preg_replace["/[^\d]/", "", $phone];
  return preg_replace["/^1?[\d{3}][\d{3}][\d{4}]$/", "$1-$2-$3", $numbers_only];
}

echo localize_us_number["5551234567"], "\n";
echo localize_us_number["15551234567"], "\n";
echo localize_us_number["+15551234567"], "\n";
echo localize_us_number["[555] 123-4567"], "\n";
echo localize_us_number["+1 [555] 123-4567"], "\n";
echo localize_us_number["Phone: 555 1234567 or something"], "\n";
3, các khóa sẽ tự động được lập chỉ mục lại, nhưng các khóa kết hợp sẽ không thay đổi — trái ngược với
function localize_us_number[$phone] {
  $numbers_only = preg_replace["/[^\d]/", "", $phone];
  return preg_replace["/^1?[\d{3}][\d{3}][\d{4}]$/", "$1-$2-$3", $numbers_only];
}

echo localize_us_number["5551234567"], "\n";
echo localize_us_number["15551234567"], "\n";
echo localize_us_number["+15551234567"], "\n";
echo localize_us_number["[555] 123-4567"], "\n";
echo localize_us_number["+1 [555] 123-4567"], "\n";
echo localize_us_number["Phone: 555 1234567 or something"], "\n";
8, sẽ chuyển đổi tất cả các khóa thành khóa số

function localize_us_number[$phone] {
  $numbers_only = preg_replace["/[^\d]/", "", $phone];
  return preg_replace["/^1?[\d{3}][\d{3}][\d{4}]$/", "$1-$2-$3", $numbers_only];
}

echo localize_us_number["5551234567"], "\n";
echo localize_us_number["15551234567"], "\n";
echo localize_us_number["+15551234567"], "\n";
echo localize_us_number["[555] 123-4567"], "\n";
echo localize_us_number["+1 [555] 123-4567"], "\n";
echo localize_us_number["Phone: 555 1234567 or something"], "\n";
3 cần phần bù, không phải khóa, làm tham số thứ hai

Mã số

$number = "1234567890";
$formatted_number = preg_replace["/^[\d{3}][\d{3}][\d{4}]$/", "$1-$2-$3", $number];
8

đầu ra

$number = "1234567890";
$formatted_number = preg_replace["/^[\d{3}][\d{3}][\d{4}]$/", "$1-$2-$3", $number];
9

function isAssoc[array $arr]
{
    if [array[] === $arr] return false;
    return array_keys[$arr] !== range[0, count[$arr] - 1];
}

var_dump[isAssoc[['a', 'b', 'c']]]; // false
var_dump[isAssoc[["0" => 'a', "1" => 'b', "2" => 'c']]]; // false
var_dump[isAssoc[["1" => 'a', "0" => 'b', "2" => 'c']]]; // true
var_dump[isAssoc[["a" => 'a', "b" => 'b', "c" => 'c']]]; // true
4, giống như
function localize_us_number[$phone] {
  $numbers_only = preg_replace["/[^\d]/", "", $phone];
  return preg_replace["/^1?[\d{3}][\d{3}][\d{4}]$/", "$1-$2-$3", $numbers_only];
}

echo localize_us_number["5551234567"], "\n";
echo localize_us_number["15551234567"], "\n";
echo localize_us_number["+15551234567"], "\n";
echo localize_us_number["[555] 123-4567"], "\n";
echo localize_us_number["+1 [555] 123-4567"], "\n";
echo localize_us_number["Phone: 555 1234567 or something"], "\n";
2, lấy mảng theo tham chiếu. Bạn không gán giá trị trả về của các hàm đó cho mảng

Xóa nhiều phần tử mảng

Nếu bạn muốn xóa nhiều phần tử mảng và không muốn gọi hàm

function localize_us_number[$phone] {
  $numbers_only = preg_replace["/[^\d]/", "", $phone];
  return preg_replace["/^1?[\d{3}][\d{3}][\d{4}]$/", "$1-$2-$3", $numbers_only];
}

echo localize_us_number["5551234567"], "\n";
echo localize_us_number["15551234567"], "\n";
echo localize_us_number["+15551234567"], "\n";
echo localize_us_number["[555] 123-4567"], "\n";
echo localize_us_number["+1 [555] 123-4567"], "\n";
echo localize_us_number["Phone: 555 1234567 or something"], "\n";
2 hoặc
function localize_us_number[$phone] {
  $numbers_only = preg_replace["/[^\d]/", "", $phone];
  return preg_replace["/^1?[\d{3}][\d{3}][\d{4}]$/", "$1-$2-$3", $numbers_only];
}

echo localize_us_number["5551234567"], "\n";
echo localize_us_number["15551234567"], "\n";
echo localize_us_number["+15551234567"], "\n";
echo localize_us_number["[555] 123-4567"], "\n";
echo localize_us_number["+1 [555] 123-4567"], "\n";
echo localize_us_number["Phone: 555 1234567 or something"], "\n";
3 nhiều lần thì có thể sử dụng hàm
function isAssoc[array $arr]
{
    if [array[] === $arr] return false;
    return array_keys[$arr] !== range[0, count[$arr] - 1];
}

var_dump[isAssoc[['a', 'b', 'c']]]; // false
var_dump[isAssoc[["0" => 'a', "1" => 'b', "2" => 'c']]]; // false
var_dump[isAssoc[["1" => 'a', "0" => 'b', "2" => 'c']]]; // true
var_dump[isAssoc[["a" => 'a', "b" => 'b', "c" => 'c']]]; // true
8 hoặc
function isAssoc[array $arr]
{
    if [array[] === $arr] return false;
    return array_keys[$arr] !== range[0, count[$arr] - 1];
}

var_dump[isAssoc[['a', 'b', 'c']]]; // false
var_dump[isAssoc[["0" => 'a', "1" => 'b', "2" => 'c']]]; // false
var_dump[isAssoc[["1" => 'a', "0" => 'b', "2" => 'c']]]; // true
var_dump[isAssoc[["a" => 'a', "b" => 'b', "c" => 'c']]]; // true
9 tùy thuộc vào việc bạn có biết giá trị hoặc khóa của phần tử muốn xóa hay không.

phương pháp
function isAssoc[array $arr]
{
    if [array[] === $arr] return false;
    return array_keys[$arr] !== range[0, count[$arr] - 1];
}

var_dump[isAssoc[['a', 'b', 'c']]]; // false
var_dump[isAssoc[["0" => 'a', "1" => 'b', "2" => 'c']]]; // false
var_dump[isAssoc[["1" => 'a', "0" => 'b', "2" => 'c']]]; // true
var_dump[isAssoc[["a" => 'a', "b" => 'b', "c" => 'c']]]; // true
8

Nếu bạn biết giá trị của các phần tử mảng mà bạn muốn xóa, thì bạn có thể sử dụng

function isAssoc[array $arr]
{
    if [array[] === $arr] return false;
    return array_keys[$arr] !== range[0, count[$arr] - 1];
}

var_dump[isAssoc[['a', 'b', 'c']]]; // false
var_dump[isAssoc[["0" => 'a', "1" => 'b', "2" => 'c']]]; // false
var_dump[isAssoc[["1" => 'a', "0" => 'b', "2" => 'c']]]; // true
var_dump[isAssoc[["a" => 'a', "b" => 'b', "c" => 'c']]]; // true
8. Như trước đây với
function localize_us_number[$phone] {
  $numbers_only = preg_replace["/[^\d]/", "", $phone];
  return preg_replace["/^1?[\d{3}][\d{3}][\d{4}]$/", "$1-$2-$3", $numbers_only];
}

echo localize_us_number["5551234567"], "\n";
echo localize_us_number["15551234567"], "\n";
echo localize_us_number["+15551234567"], "\n";
echo localize_us_number["[555] 123-4567"], "\n";
echo localize_us_number["+1 [555] 123-4567"], "\n";
echo localize_us_number["Phone: 555 1234567 or something"], "\n";
2, nó sẽ không thay đổi các khóa của mảng

Mã số

function localize_us_number[$phone] {
  $numbers_only = preg_replace["/[^\d]/", "", $phone];
  return preg_replace["/^1?[\d{3}][\d{3}][\d{4}]$/", "$1-$2-$3", $numbers_only];
}

echo localize_us_number["5551234567"], "\n";
echo localize_us_number["15551234567"], "\n";
echo localize_us_number["+15551234567"], "\n";
echo localize_us_number["[555] 123-4567"], "\n";
echo localize_us_number["+1 [555] 123-4567"], "\n";
echo localize_us_number["Phone: 555 1234567 or something"], "\n";
9

đầu ra

function isAssoc[array $arr]
{
    if [array[] === $arr] return false;
    return array_keys[$arr] !== range[0, count[$arr] - 1];
}

var_dump[isAssoc[['a', 'b', 'c']]]; // false
var_dump[isAssoc[["0" => 'a', "1" => 'b', "2" => 'c']]]; // false
var_dump[isAssoc[["1" => 'a', "0" => 'b', "2" => 'c']]]; // true
var_dump[isAssoc[["a" => 'a', "b" => 'b', "c" => 'c']]]; // true
0

phương pháp
function isAssoc[array $arr]
{
    if [array[] === $arr] return false;
    return array_keys[$arr] !== range[0, count[$arr] - 1];
}

var_dump[isAssoc[['a', 'b', 'c']]]; // false
var_dump[isAssoc[["0" => 'a', "1" => 'b', "2" => 'c']]]; // false
var_dump[isAssoc[["1" => 'a', "0" => 'b', "2" => 'c']]]; // true
var_dump[isAssoc[["a" => 'a', "b" => 'b', "c" => 'c']]]; // true
9

Nếu bạn biết khóa của các phần tử mà bạn muốn xóa, thì bạn muốn sử dụng

function isAssoc[array $arr]
{
    if [array[] === $arr] return false;
    return array_keys[$arr] !== range[0, count[$arr] - 1];
}

var_dump[isAssoc[['a', 'b', 'c']]]; // false
var_dump[isAssoc[["0" => 'a', "1" => 'b', "2" => 'c']]]; // false
var_dump[isAssoc[["1" => 'a', "0" => 'b', "2" => 'c']]]; // true
var_dump[isAssoc[["a" => 'a', "b" => 'b', "c" => 'c']]]; // true
9. Bạn phải đảm bảo rằng bạn chuyển các khóa dưới dạng khóa trong tham số thứ hai chứ không phải dưới dạng giá trị. Khóa sẽ không lập chỉ mục lại

Mã số

function isAssoc[array $arr]
{
    if [array[] === $arr] return false;
    return array_keys[$arr] !== range[0, count[$arr] - 1];
}

var_dump[isAssoc[['a', 'b', 'c']]]; // false
var_dump[isAssoc[["0" => 'a', "1" => 'b', "2" => 'c']]]; // false
var_dump[isAssoc[["1" => 'a', "0" => 'b', "2" => 'c']]]; // true
var_dump[isAssoc[["a" => 'a', "b" => 'b', "c" => 'c']]]; // true
3

đầu ra

function isAssoc[array $arr]
{
    if [array[] === $arr] return false;
    return array_keys[$arr] !== range[0, count[$arr] - 1];
}

var_dump[isAssoc[['a', 'b', 'c']]]; // false
var_dump[isAssoc[["0" => 'a', "1" => 'b', "2" => 'c']]]; // false
var_dump[isAssoc[["1" => 'a', "0" => 'b', "2" => 'c']]]; // true
var_dump[isAssoc[["a" => 'a', "b" => 'b', "c" => 'c']]]; // true
0

Nếu bạn muốn sử dụng

function localize_us_number[$phone] {
  $numbers_only = preg_replace["/[^\d]/", "", $phone];
  return preg_replace["/^1?[\d{3}][\d{3}][\d{4}]$/", "$1-$2-$3", $numbers_only];
}

echo localize_us_number["5551234567"], "\n";
echo localize_us_number["15551234567"], "\n";
echo localize_us_number["+15551234567"], "\n";
echo localize_us_number["[555] 123-4567"], "\n";
echo localize_us_number["+1 [555] 123-4567"], "\n";
echo localize_us_number["Phone: 555 1234567 or something"], "\n";
2 hoặc
function localize_us_number[$phone] {
  $numbers_only = preg_replace["/[^\d]/", "", $phone];
  return preg_replace["/^1?[\d{3}][\d{3}][\d{4}]$/", "$1-$2-$3", $numbers_only];
}

echo localize_us_number["5551234567"], "\n";
echo localize_us_number["15551234567"], "\n";
echo localize_us_number["+15551234567"], "\n";
echo localize_us_number["[555] 123-4567"], "\n";
echo localize_us_number["+1 [555] 123-4567"], "\n";
echo localize_us_number["Phone: 555 1234567 or something"], "\n";
3 để xóa nhiều phần tử có cùng giá trị, bạn có thể sử dụng
$number = "1234567890";
$formatted_number = preg_replace["/^[\d{3}][\d{3}][\d{4}]$/", "$1-$2-$3", $number];
27 để lấy tất cả các khóa cho một giá trị cụ thể rồi xóa tất cả phần tử

Làm cách nào để xóa dấu gạch ngang khỏi chuỗi trong PHP?

IN PHP, thay thế chuỗi và xóa ký tự gạch nối. .
$str = str_replace['-',' ',$str]
ucwords[str_replace['-',' ',$str]]
strtolower[str_replace[' ','-',$str]]

Làm cách nào để xóa các ký tự đặc biệt khỏi số điện thoại trong PHP?

xóa các ký tự đặc biệt khỏi số điện thoại [trùng lặp] . $ph_number = "+91-5345534534"; . replaceAll["[^0-9]+", $ph_number];

Làm cách nào để xóa dấu gạch nối khỏi ngày trong PHP?

Chỉ cần thực hiện str_replace[] . preg_replace[] chậm hơn.

Chủ Đề