Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | 1x 1x 11x 11x 11x 11x 51x 51x 51x 51x 51x 51x 11x 11x 11x 4x 11x | const optionalLeadingNumber = '(0)';
export default function formatPhoneNumber(phoneNumber: string): string {
phoneNumber = phoneNumber.replace(/[/. ()]/g, '');
let size = 2;
const parts: string[] = [];
while (phoneNumber !== '') {
if (parts.length === 3) size = 3;
if (parts.length === 4) size = phoneNumber.length;
const index = phoneNumber.length - size;
const part = phoneNumber.substring(index);
phoneNumber = phoneNumber.substring(0, index);
parts.push(part);
}
const lastIndex = parts.length - 1;
if (parts[lastIndex] === '0') parts[lastIndex] = optionalLeadingNumber;
if (
parts[lastIndex]!.length === 3 &&
parts[lastIndex] !== optionalLeadingNumber
)
parts.push(optionalLeadingNumber);
return parts.reverse().join(' ').trim();
}
|