Ситуация, когда необходимо убедиться, что строка является допустимым числом, встречается довольно часто. Например, при обработке пользовательского ввода или при анализе данных, полученных из внешнего источника.
let userInput = "1234";
Существует несколько способов проверить, является ли строка допустимым числом в JavaScript.
Разработка на Java — востребованное направление, такие специалисты будут нужны на рынке еще долго. На курсе «Java-разработчик» от Skypro освоить профессию можно с нуля за 11 месяцев, даже если вы гуманитарий и ничего не знаете об IT. Программа составлена от простого к сложному и адаптирована для новичков. Преподаватели — практикующие специалисты из крупных компаний: «Сбер», «Самокат» и других.
Способ 1: Использование функции isNaN()
Первый и самый простой способ — использовать встроенную функцию isNaN()
, которая возвращает true
, если аргумент не является числом, и false
, если является.
let userInput = "1234"; let isNumber = !isNaN(userInput);
Однако эта функция может дать ложные срабатывания для некоторых значений, таких как пустые строки, null
, true
и false
, которые будут преобразованы в числа.
Способ 2: Использовать регулярные выражения
Второй способ — использовать регулярные выражения для проверки, соответствует ли строка формату числа.
let userInput = "1234"; let isNumber = /^\d+$/.test(userInput);
Этот метод будет работать только для целых чисел. Для дробных чисел можно использовать следующее регулярное выражение:
let userInput = "1234.56"; let isNumber = /^\d+(\.\d+)?$/.test(userInput);
Освойте Java на курсе онлайн-университета Skypro. Учебе нужно будет уделять всего 10 часов в неделю: сможете совмещать с работой и личными делами. Вас ждут 440 часов теории и практики, мастер-классы с реальными рабочими задачами, опытные преподаватели, кураторы и наставники. За время обучения сделаете два полноценных проекта для портфолио и множество домашних заданий, чтобы отработать навыки.
Способ 3: Использование функции Number()
Третий способ — использовать функцию Number()
, которая преобразует аргумент в число. Если аргумент не может быть преобразован в число, функция возвращает NaN
.
let userInput = "1234"; let isNumber = !isNaN(Number(userInput));
Этот метод также будет работать для дробных чисел.
В заключение, все эти методы имеют свои преимущества и недостатки, выбор метода зависит от конкретной ситуации.
Добавить комментарий