isDEANumberOfUS property
bool
get
isDEANumberOfUS
Returns true if string is a valid US Drug Enforcement Agency
Implementation
bool get isDEANumberOfUS {
if (this == null) {
return false;
}
final pattern = RegExp(r'^[A-Z]{2}\d{7}$');
if (!pattern.hasMatch(this!)) return false;
// Extract digits
final digits = this!.substring(2).split('').map(int.parse).toList();
// Check digit calculation:
// 1. Add digits 1, 3, 5
int sum135 = digits[0] + digits[2] + digits[4];
// 2. Add digits 2, 4, 6 and multiply by 2
int sum246x2 = (digits[1] + digits[3] + digits[5]) * 2;
// 3. Total and check if last digit matches
int expectedCheck = ((sum135 + sum246x2) % 10);
return digits[6] == expectedCheck;
}