Files
web/apps/scandic-web/utils/phone.ts
Linus Flood 3c4ff0a792 Merged in fix/LOY-280-phone (pull request #2393)
fix(LOY-280): phone number validation

* fix(LOY-280): phone number validation

* Return formatted phonenumber even though its not valid


Approved-by: Christian Andolf
2025-06-19 12:24:33 +00:00

27 lines
714 B
TypeScript

import parsePhoneNumberFromString, { type CountryCode } from "libphonenumber-js"
export function formatPhoneNumber(
phoneNumber: string,
phoneNumberCC?: string | null
): string {
if (!phoneNumber) return ""
const normalized = phoneNumber.trim().replaceAll(/-|\s/g, "")
const parsedPhonenumber = phoneNumberCC?.length
? parsePhoneNumberFromString(
normalized,
phoneNumberCC.toUpperCase() as CountryCode
)
: parsePhoneNumberFromString(normalized)
if (!parsedPhonenumber?.isValid()) {
console.warn(
`Invalid phone number: ${phoneNumber} with country code: ${phoneNumberCC}`,
parsedPhonenumber
)
}
return parsedPhonenumber?.number || normalized
}