formatNumber method
formatNumber
Returns string in the requested format. @throws LocalRegexException if the phone number is invalid.
cleanNumber
some phones autoformat contacts if true: strip all non digit chars from a phone number
e.g (077) 612-3098 -> 0776123098 (024) 212-3098 -> 0242123098
Implementation
String? formatNumber({
required FormatType formatType,
bool cleanNumber = true,
}) {
String? number;
final currentNumber = cleanNumber ? this.cleanNumber : this;
if (LocalRegex.isZimMobile(currentNumber) ||
LocalRegex.isZimVoip(currentNumber) ||
LocalRegex.isZimLandline(currentNumber)) {
switch (formatType) {
case FormatType.countryCode:
number = countryCodeFormat(currentNumber);
break;
case FormatType.countryCodePlus:
number = countryCodePlusFormat(currentNumber);
break;
case FormatType.regular:
number = regularFormat(currentNumber);
break;
}
}
// failed to format, invalid
else {
throw LocalRegexException('Phone number is not valid!');
}
return number;
}