Repository URL to install this package:
|
Version:
1.0.10 ▾
|
import { isString, isNumber } from 'exotic'
const regexParensFormat1 = /^([1-9]..)([0-9]..)([0-9]{1,})$/
const regexParensFormat2 = /^([1-9]..)([0-9]{1,3})/
function formatPhoneNumber(phoneNumber: string | number) {
if (isNumber(phoneNumber)) {
console.warn('phone number given is a number, no need to format?')
phoneNumber = String(phoneNumber)
}
if (isString(phoneNumber)) {
let formattedPhoneNumber = phoneNumber.replace(/[^0-9]/g, '').slice(0, 10)
if (regexParensFormat1.test(formattedPhoneNumber)) {
formattedPhoneNumber = formattedPhoneNumber.replace(
regexParensFormat1,
'$1 - $2 - $3'
)
} else if (regexParensFormat2.test(formattedPhoneNumber)) {
formattedPhoneNumber = formattedPhoneNumber.replace(
regexParensFormat2,
'$1 - $2'
)
}
return formattedPhoneNumber
}
return phoneNumber
}
function removePhoneNumberFormatting(phoneNumber: number | string) {
if (isString(phoneNumber)) {
return phoneNumber.replace(/[^0-9]/g, '')
}
return phoneNumber
}
export { formatPhoneNumber, removePhoneNumberFormatting }