У меня есть массив объектов, которые являются телефонными номерами, такими как:

phoneArray = [{"phone": "+11 111 111"},{"phone": "+22 222 222"}]

Я сделал цикл, чтобы удалить пробелы, потому что я хочу получить такой результат:

[{"телефон": "+11111111"},{"телефон": "+22222222"}]

Но я смог удалить только первый пробел, который выглядел как

[{"телефон": "+11111 111"},{"телефон": "+22222 222"}

С этим кодом:

for(i=0 ; i<phoneArray.length ; i++) {

let test = phoneArray[i].phone.replace(" ","");
}

На самом деле у меня есть другие телефонные номера, такие как {"phone": "(22) 222-222"} для форматирования, но если я могу удалить пробел, я могу удалить другие знаки, такие как () - я думаю.

Я не использую регулярное выражение, потому что еще не понимаю его.

0
Growy 26 Янв 2022 в 17:18
2
Вам нужно использовать регулярное выражение для замены всех пробелов: .replace(/ /g,"")
 – 
Lux
26 Янв 2022 в 17:19
Наоборот: вы хотите удалить все, кроме цифр и "+"…
 – 
deceze
26 Янв 2022 в 17:20

3 ответа

Чтобы удалить все символы, кроме + и цифр, вы можете сделать это:

let p = "+1 (555) 555-555"

console.log(p.replace(/[^\d\+]/g,''))
1
Samathingamajig 26 Янв 2022 в 18:03

Вы можете передать шаблон регулярного выражения в функцию замены. Как это:

let p = "+(11) 111 111-11"

console.log(p.replace(/[\s\-\(\)]/g,''))
1
Maik Lowrey 26 Янв 2022 в 18:13
Это удаляет только пробелы, OP также хочет удалить тире и круглые скобки
 – 
Samathingamajig
26 Янв 2022 в 18:01
Спасибо за подсказку. 👍 я обновил свой ответ!
 – 
Maik Lowrey
26 Янв 2022 в 18:14

Вы можете попробовать phone.replace(/\D/g,'') это заменит все нечисловые символы и даст вам числа, надеюсь, это поможет. введите описание изображения здесь

-2
Naresh Sharma 26 Янв 2022 в 17:57