processNumber method

String? processNumber(
  1. String number
)

Attempts to extract the credit card number from the given text.

Returns the extracted credit card number, or null if no number is found.

Implementation

String? processNumber(String number) {
  if (!checkCreditCardNumber) {
    return null;
  }

  if (number.contains("L")) {
    number = number.replaceAll("L", "1");
  }

  final v = _ccValidator.validateCCNum(number,
      ignoreLuhnValidation: !useLuhnValidation);

  if (v.isValid) {
    cardNumber = number;
    _v = v;

    return cardNumber;
  }
  return null;

  // // remove all non-numeric characters from the input text and keep the numbers
  // final text = removeNonDigitsKeepSpaces(v);

  // if (text.contains(RegExp(r'[0-9]')) && checkCreditCardNumber) {
  //   if (text.contains(' ') &&
  //       int.tryParse(text.replaceAll(" ", "")) != null &&
  //       text.split(" ").length == 4 &&
  //       text.split(" ").every((element) => element.length == 4) &&
  //       text.length > 8) {
  //     cardNumber = text;
  //     numberTextList.clear();
  //   }

  //   if (!onlySpaces) {
  //     if (v.length == 4 && int.tryParse(v) != null) {
  //       numberTextList.add(v);
  //       if (numberTextList.length == 4) {
  //         cardNumber = numberTextList.join(' ');

  //         numberTextList.clear();

  //         return cardNumber;
  //       }
  //     }

  //     if (text.length >= 16 && int.tryParse(text) != null) {
  //       numberTextList.clear();

  //       cardNumber = text;
  //     }
  //   }
  // }
  // return cardNumber.isEmpty ? null : cardNumber;
}