formatAsCardNumber property

String get formatAsCardNumber

Implementation

String get formatAsCardNumber {
  // Remove all non-digit characters
  final digitsOnly = this?.replaceAll(RegExp(r'\D'), '') ?? '';

  // Group into chunks of 4
  final buffer = StringBuffer();
  for (var i = 0; i < digitsOnly.length; i++) {
    if (i != 0 && i % 4 == 0) buffer.write(' ');
    buffer.write(digitsOnly[i]);
  }

  return buffer.toString();
}