0

私のコードは以下のとおりです。ユーザーがテキストボックスに入力している内容を出力します。ユーザーが数字以外を入力すると、エラーメッセージが出力されます。しかし、これを行う方法については混乱しています。率直に言って、入力の最初の文字が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>.";
}
}
4

2 に答える 2

2

正規表現を使用して、数値以外のものを検索できます。

if (/[^\d]/.test(textInput)) {
    /* error stuff */
}
于 2011-10-26T16:45:39.290 に答える
0

条件としてisNaN()(数値ではない)を使用できます。

isNaN(123)はfalseを返し、isNaN( "hello")はtrueを返します。

于 2011-10-26T16:49:49.770 に答える