В JavaScript, как мне определить, содержат ли ввод буквы? - PullRequest
0 голосов
/ 26 октября 2011

Мой код ниже, он выводит то, что пользователь печатает в текстовом поле. Он должен вывести сообщение об ошибке, если пользователь ставит что-либо, кроме числа. Я не совсем понимаю, как это сделать. Честно говоря, я бы согласился с тем, что смог определить, является ли первая буква ввода буквой B, но я не могу понять это, и предпочтительнее первый вариант.

HTML

<label for="bannerID">Banner ID: B</label><input type="text" name="bannerID" id="bannerID" onkeyup="showBannerID()" value="" /><br /> 

<p id="bannerOutput"></p>

JavaScript

function showBannerID() {

var textInput = document.getElementById('bannerID').value;

if (textInput.length == 0) {
    document.getElementById('bannerOutput').innerHTML = "<strong class=\"error\">Field can't be empty!</strong>";
}
else if (textInput.charAt(0) == "B") {
    document.getElementById('bannerOutput').innerHTML = "<strong class=\"error\">Please omit the B! It's not necessary.</strong>
}
else {
    document.getElementById('bannerOutput').innerHTML = "Your Banner ID is: <strong>B" + textInput + "</strong>.";
}
}

Ответы [ 2 ]

2 голосов
/ 26 октября 2011

Вы можете использовать регулярные выражения для поиска чего-либо, кроме чисел:

if (/[^\d]/.test(textInput)) {
    /* error stuff */
}
0 голосов
/ 26 октября 2011

Вы можете использовать isNaN () (не число) в качестве условия.

isNaN (123) выдаст false, isNaN ("привет") даст true.

...