@justifycontent

Как решить эту задачу на JS?

"На вход программе дается строка. Напишите программу, которая выводит сообщение 'Цифра', если строка содержит цифру. В противном случае вывести сообщение нет цифр". Пробовал этот вариант, почему-то не работает
let str = 'Привет';
for (i = 0; i < str.length; i++) {
    if (Number(str[i]) == NaN) {
        console.log('Цифр нет');
    } else {
        console.log('Цифрa');
    }
};
  • Вопрос задан
  • 159 просмотров
Решения вопроса 4
kirbi1996
@kirbi1996
не тестил но можно вроде так
let str = 'Привет'
str.match(/\d+/) ?  console.log('Цифрa') : console.log('Цифр нет')
Ответ написан
Stalker_RED
@Stalker_RED
const isNumber = /^\d+$/.test(this.value);
const isContainsNumber = /\d+/.test(this.value);


Ответ написан
AleksandrB
@AleksandrB
Совсем недавно вывел "Hello world"
К предыдущим ответам
У нас была проблема, мы решили ее с помощью регулярки, теперь у нас 2 проблемы


А вот один из возможных способов
let str = 'При1вет';
let strNums = 0;
for (i = 0; i < str.length; i++) {
    if (!isNaN(Number(str[i])))
        strNums++;
};
strNums !== 0 ?  console.log('Цифрa') : console.log('Цифр нет')
Ответ написан
@zkrvndm
Боты, парсеры, расширения
Проще и понятнее думаю будет так:
// Записываем в переменную str, какой-нибудь текст:
str = prompt('Введите что-нибудь', '');

// Из полученного текста удаляем все, что не является цифрой:
str = str.replace(/[^0-9]/g, '');

// Если после чистки кол-во символов в переменной str больше нуля:

if (str.length > 0) {
	alert('Введенный текст содержит цифры!');
}

// Если иное:

else {
	alert('Введенный текст НЕ содержит цифр!');
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Absolute138
String.prototype.isHaveNum = function(){
  let arr = this.split(''),
      i = arr.length,
      haveNumber = false;
  while(i--){
    let temp = ~~arr[i] || 0;
    if(temp){
      haveNumber = true;
      break;
    }
  }
  return haveNumber;
}

console.log('А б в г8 д'.isHaveNum()); //true
console.log('А б в г д'.isHaveNum()); //false
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
26 окт. 2020, в 10:48
3000 руб./за проект
26 окт. 2020, в 10:42
30000 руб./за проект
26 окт. 2020, в 10:18
50000 руб./за проект