@maksmaksimovich

Чем заменить такую запись?

Как можно переписать это, чтобы было более правильно? Нужно, чтобы true или false возвращало, в myNumber передаётся строка вида '123' или '12323asd'.
!!+myNumber
  • Вопрос задан
  • 108 просмотров
Решения вопроса 2
0xD34F
@0xD34F Куратор тега JavaScript
isNaN

или /^\d+$/.test(str)
Ответ написан
Комментировать
Vlad_IT
@Vlad_IT Куратор тега JavaScript
Front-end разработчик
Выглядит конечно фигово, но с условными конструкциями будет еще фиговее. Можно более явно
const res = Boolean(Number(myNumber));
Но мне кажется, вам больше подойдет isFinite
isFinite('123'); // true
isFinite('123sss'); // false

Данная функция сначала преобразует значение в число, и потом проверяет, является ли оно конечным числом.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
BRAGA96
@BRAGA96
Вот для примера функция jQuery для проверки на валидное число:
function isNumeric(value) {
	var type = typeof value;
	return (type === 'number' || type === 'string') && !isNaN(value - parseFloat(value));
}

isNumeric('2562362') //> true
isNumeric('263621.621561sg') //> false
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы