Flutter: методы проверки того, содержит ли строка только числа

Чтобы проверить, содержит ли строка только числа во Flutter, вы можете использовать несколько методов. Вот несколько подходов:

  1. Регулярное выражение: вы можете использовать регулярные выражения для проверки того, состоит ли строка только из чисел. Следующий фрагмент кода демонстрирует это:
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
}
  1. Разбор и обработка исключений. Вы можете попробовать проанализировать строку как целое или двойное число и обработать любые возникающие исключения. Если исключение не выдается, это означает, что строка содержит только числа. Вот пример:
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
}
  1. Использование регулярного выражения и 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
}