Проверка наличия чисел в строке: JavaScript функция

Пройдите тест, узнайте какой профессии подходите

Я предпочитаю
0%
Работать самостоятельно и не зависеть от других
Работать в команде и рассчитывать на помощь коллег
Организовывать и контролировать процесс работы

Быстрый ответ

Чтобы проверить, содержит ли строка числа, используйте следующее регулярное выражение: /\d/.test(ввод):

JS
Скопировать код
const hasNumber = /\d/.test('ВашаСтрока');

Переменная hasNumber примет значение true, если ВашаСтрока содержит хоть одну цифру в диапазоне от 0 до 9. В противном случае она примет значение false.

Кинга Идем в IT: пошаговый план для смены профессии

Расширенный поиск чисел

Простой поиск отдельных цифр может оказаться недостаточным, если числа встречаются в строке в более сложном виде. Например, они могут быть отрицательными или представлять дроби.

Расширение способностей поиска чисел

Для поимки более сложных чисел вы можете дополнить шаблон регулярного выражения:

JS
Скопировать код
const complexNumberPattern = /-?\d+(\.\d+)?/.test('ВашаСтрока');

Теперь вы сможете определить такие числа как -1 или 2.34.

Подробнее об этом расскажет наш спикер на видео
skypro youtube speaker

Использование функций parseFloat() и parseInt()

Функции parseFloat() и parseInt() разбирают строку до первого встретившегося нечислового символа. parseFloat способна обработать дробные числа, тогда как для parseInt десятичная точка является остановкой:

JS
Скопировать код
if (parseFloat('12.3abc') && isFinite('12.3abc')) {
  // 'parseFloat' считает 12.3 числом. Отлично!
}
if (parseInt('123abc') && isFinite('123abc')) {
  // 'parseInt' останавливается на точке, принимая 123 за число.
}

Проверка строгости числового представления с помощью isNaN

Функция isNaN окажется полезной, если вам нужно убедиться, что строка соответствует числовому формату и не содержит лишних символов. Если важна строгая валидация, воспользуйтесь регулярным выражением:

JS
Скопировать код
const strictlyNumeric = /^[+-]?\d+(\.\d+)?$/.test('ВведитеЧисло');

Данное регулярное выражение пропускает через себя только строки, являющиеся числами — будь то положительные, отрицательные, дробные.

Визуализация

Представьте детектива (🕵️), который ищет скрытое число (🔢) среди букв (📦):

Markdown
Скопировать код
Коробка с буквами (📦): [A, B, C, 1, D, E, 3, F, G]

Детектив начинает своё занятное расследование:

JS
Скопировать код
let containsNumber = /[0-9]+/.test('A1C'); // 🕵️: Я нашел число! Код расшифрован! 🔎🔢

Успех налицо!

Markdown
Скопировать код
Записи детектива (🕵️📄):
- Строка "A1C": Найдено число – ✅
- Строка "ABC": Числа не обнаружено – ❌

Примечание:

  • ✅: Число найдено, дело закрыто.
  • ❌: Число не найдено, следует продолжить поиск.

Валидация чисел в реальном времени

При создании веб-приложений вам может понадобиться проверка числовых данных, которые пользователь вводит в реальном времени. JavaScript, а также библиотеки, например, jQuery, помогут контролировать корректность ввода:

JS
Скопировать код
$('input').on('input', function() {
  const isValidNumber = /\d/.test($(this).val());
  // Обновление пользовательского интерфейса с указанием валидности ввода
});

Тестирование: учет всех возможных случаев

Тестировать можно самые разные варианты — от базовых до нетипичных:

  • Отдельные цифры: "8"
  • Слова с цифрами: "xyz321"
  • Отрицательные числа: "-99"
  • Дробные числа: "6.28318"
  • Нечисловые значения: "Не число" или "бесконечность"

Как избежать ложных срабатываний: избегаем сюрпризов

Некоторые функции JavaScript могут давать неожиданные результаты. Например, parseInt вытащит число из "123xyz". Чтобы избежать подобных ситуаций, используйте точные регулярные выражения или комбинируйте разные функции.

Полезные материалы

  1. Регулярные выражения – JavaScript | MDN — Полное руководство по использованию регулярных выражений в JavaScript.
  2. RegExp.prototype.test() – JavaScript | MDN — Глубокое понимание метода .test() для проведения проверок с помощью регулярных выражений.
  3. String.prototype.includes() – JavaScript | MDN — Обзор метода String.includes(), который позволяет производить поиск подстрок.
  4. Регулярные выражения :: Утонченный JavaScriptПонятное и доступное объяснение регулярных выражений в книге "Eloquent JavaScript".
  5. Как использовать регулярные выражения в JavaScript — Практическое руководство по использованию регулярных выражений в JavaScript.
  6. Методы RegExp и String — Обзор методов RegExp и String в JavaScript.
Проверь как ты усвоил материалы статьи
Пройди тест и узнай насколько ты лучше других читателей
Какое регулярное выражение используется для проверки наличия хотя бы одной цифры в строке?
1 / 5