Чтобы проверить, содержит ли строка только числа во Flutter, вы можете использовать несколько методов. Вот несколько подходов:
- Регулярное выражение: вы можете использовать регулярные выражения для проверки того, состоит ли строка только из чисел. Следующий фрагмент кода демонстрирует это:
bool isNumeric(String str) {
return RegExp(r'^[0-9]+$').hasMatch(str);
}
void main() {
String input = '12345';
print(isNumeric(input)); // Output: true
input = '123abc';
print(isNumeric(input)); // Output: false
}
- Разбор и обработка исключений. Вы можете попробовать проанализировать строку как целое или двойное число и обработать любые возникающие исключения. Если исключение не выдается, это означает, что строка содержит только числа. Вот пример:
bool isNumeric(String str) {
try {
int.parse(str);
return true;
} catch (e) {
return false;
}
}
void main() {
String input = '12345';
print(isNumeric(input)); // Output: true
input = '123abc';
print(isNumeric(input)); // Output: false
}
- Использование регулярного выражения и isEmpty. Другой подход — объединить использование регулярного выражения и свойства
isEmpty
строки. Вот пример:
bool isNumeric(String str) {
return str.isNotEmpty && !RegExp(r'^[0-9]+$').hasMatch(str);
}
void main() {
String input = '12345';
print(isNumeric(input)); // Output: true
input = '123abc';
print(isNumeric(input)); // Output: false
}