在JavaScript中,如何检测输入是否包含字母?

时间:2011-10-26 16:43:01

标签: javascript character letter

我的代码如下,它输出用户在文本框中输入的内容。如果用户输入除数字以外的任何内容,它应输出错误消息。不过,我对如何做到这一点很困惑。坦率地说,我很满意它能够检测出输入的第一个字母是否是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 个答案:

答案 0 :(得分:2)

您可以使用正则表达式搜索除数字以外的任何内容:

if (/[^\d]/.test(textInput)) {
    /* error stuff */
}

答案 1 :(得分:0)

您可以使用isNaN()(非数字)作为条件。

isNaN(123)会给出false,isNaN(“hello”)会给出true。