Я хочу переформатировать (заменить, не проверять - есть много ссылок для проверки) номер телефона для отображения в Javascript. Вот пример некоторых данных:
Есть ли простой способ использования регулярное выражение для этого? Я ищу лучший способ сделать это. Есть ли лучший способ?
Я хочу переформатировать число в следующее: (123) 456-7890
Берут последние цифры только (до 10) игнорирование сначала "1".
function formatUSNumber(entry = '') {
const match = entry
.replace(/\D+/g, '').replace(/^1/, '')
.match(/([^\d]*\d[^\d]*){1,10}$/)[0]
const part1 = match.length > 2 ? `(${match.substring(0,3)})` : match
const part2 = match.length > 3 ? ` ${match.substring(3, 6)}` : ''
const part3 = match.length > 6 ? `-${match.substring(6, 10)}` : ''
return `${part1}${part2}${part3}`
}
вход в качестве примера / вывод как Вы тип
formatUSNumber('+1333')
// (333)
formatUSNumber('333')
// (333)
formatUSNumber('333444')
// (333) 444
formatUSNumber('3334445555')
// (333) 444-5555