Выполнение простого цифрового теста для строки

Я только начал свое путешествие в программировании, и в последнее время я изучал, как использовать JavaScript в университете. Я застрял на упражнении, которое я просто не могу обдумать!

Вопрос в следующем: написать цифровой тест без использования логических операторов [подсказка: строковые операторы].

Поэтому мне нужно проверить, есть ли какие-либо цифры в строке. Я дошел до:

var x = prompt ("Введите любые символы"); (например, hello123)

var y = "0123456789";

(Я подумал, что входные данные должны как-то сравниваться с переменной y, чтобы я мог получить ответ)

Это все, что я получил! Надеюсь, это не должно быть слишком сложно. (Не могу дождаться этого момента "О, да.."!)

1 ответ

Решение

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

var x = prompt("Enter any characters");
if (x && x.match(/\d/)) {
    // there are digits in the string
}

или написано по-другому (либо верно):

var x = prompt("Enter any characters");
if (x && /\d/.test(x)) {
    // there are digits in the string
}

Обратите внимание, это также гарантирует, что x не является нулевым и не пустым, прежде чем пытаться использовать его в качестве строки, потому что если пользователь отменит приглашение, оно вернется null,

\d в регулярном выражении означает совпадение с любой цифрой

Вы можете прочитать о регулярных выражениях в javascript здесь и о строковых методах, которые их используют здесь.


Я все еще догадываюсь о том, каковы реальные границы вашей проблемы, но без регулярных выражений и использования только тех функций, которые вы упомянули в своих комментариях, вы можете сделать это:

var digits = "0123456789";

// get string from user
var str = prompt("Enter any characters");

// check each digit one at a time
if (str) {
    for (var i = 0; i < digits.length; i++) {
        // see if the next digit is in the string
        if (str.indexOf(digits.charAt(i)) {
            // found a digit
        }
    }
}
Другие вопросы по тегам