normalizeMasriviPhoneNumberForPrefill function

String normalizeMasriviPhoneNumberForPrefill(
  1. String? phoneNumber
)

Returns an 8-digit local Masrivi phone number, or an empty string if invalid.

Implementation

String normalizeMasriviPhoneNumberForPrefill(String? phoneNumber) {
  final compactPhoneNumber = phoneNumber
      ?.trim()
      .replaceAll(RegExp(r'[\s().-]'), '')
      .replaceFirst(RegExp(r'^00'), '+');

  if (compactPhoneNumber == null || compactPhoneNumber.isEmpty) return '';

  final localPhoneNumber = compactPhoneNumber.startsWith('+222')
      ? compactPhoneNumber.substring(4)
      : compactPhoneNumber;

  return RegExp(r'^\d{8}$').hasMatch(localPhoneNumber) ? localPhoneNumber : '';
}