hasSequentialCharacters method
bool
hasSequentialCharacters(
)
Implementation
bool hasSequentialCharacters() {
// Check for sequential numbers (123, 234, etc.)
for (int i = 0; i < length - 2; i++) {
final String substr = substring(i, i + 3);
if (RegExp(r'^\d{3}$').hasMatch(substr)) {
final List<int> nums = substr.split('').map(int.parse).toList();
if (nums[1] == nums[0] + 1 && nums[2] == nums[1] + 1) {
return true;
}
if (nums[1] == nums[0] - 1 && nums[2] == nums[1] - 1) {
return true;
}
}
}
// Check for sequential letters (abc, bcd, etc.)
for (int i = 0; i < length - 2; i++) {
final String substr = substring(i, i + 3).toLowerCase();
if (RegExp(r'^[a-z]{3}$').hasMatch(substr)) {
final List<int> codes = substr.codeUnits;
if (codes[1] == codes[0] + 1 && codes[2] == codes[1] + 1) {
return true;
}
if (codes[1] == codes[0] - 1 && codes[2] == codes[1] - 1) {
return true;
}
}
}
return false;
}