2011-10-26 14 views
0

私のコードは以下の通り、ユーザーがテキストボックスに入力した内容を出力します。ユーザーが数字以外の文字を入力すると、エラーメッセージが出力されるはずです。私はこれをどうやって行うのか混乱しています。率直に言って、入力の最初の文字がBであるかどうかを検出することができますが、私はこれを理解することはできません。JavaScriptでは、入力に文字が含まれているかどうかを検出するにはどうすればよいですか?

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>."; 
} 
} 
+1

コードに構文エラーがあります。知っていましたか? (else-if-Bブロックの引用符は閉じられません)。 –

答えて

0

あなたがますisNaNを使用することができます() (いいえt a Number)を条件として使用します。

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

+0

完璧!今私はそれを実装する方法があるだけでなく、もし彼らが最初の手紙としてBを入れたらelseを実装するのでしょうか? –

2

あなたは数字以外を検索するための正規表現を使用することができます。

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

これを見なければならないが、正規表現はまだ学習していない。 さらに質問:最初に入力した番号がBであるかどうかを検出し、エラーメッセージを出力するかどうかを検出する方法はありますか? –

+0

@Dougあなたの 'charAt'テストはこれでうまくいくはずです。あなたが期待している結果を得ていないのですか? – sdleihssirhc

関連する問題