2016-04-30 8 views
1

を検証カント私はこれは私のHTMLボタンコードである第二の条件

<div class="form-group"> 
    <label>Name</label> 
    <input type="text" class="form-control" name="name" /> 
    <div class="help-block with-errors" style="font-size:12pt">Input Only Alphabet</div> 
</div> 
<input class="btn btn-primary" type="submit" value="SUBMIT" id="button1 style="height:50px; width:100px" /> 

これは私の問題は、私は唯一の最初の条件を検証することができている私のjQueryの

<script type="text/javascript"> 
    $("#button1").click(function(){ 
     if($("#name").val() == null) 
      alert("haha"); 

     if($("#name").val() == [a-z]) 
      alert("zzzz"); 
    }); 
</script> 

です。たびに私は2番目の条件を試してみてください。誰もが私の問題は何かを見るのを助けることができますか?

+1

あなたの引用符で文字列をmungedしている、idとスタイルを見て! – t0mm13b

答えて

3

これは無効な構文*です:

if($("#name").val() == [a-z]) 

あなたが正規表現であなたがやりたいことができます:

if($("#name").val().test(/^[a-z]$/)) 

追加^$はちょうどそれをする要素の値が必要です1文字、それの前後に何もない。

第2に、inputにはidという属性がないため、jQueryは$("#name")で何も見つかりません。

<input type="text" class="form-control" name="name" id="name"/> 
                ^^ 


*技術的に、それは実際には正しい構文ですが、全く別の何かのために:それは、変数をアップになります Zそれが機能するためには、あなたの入力要素は id="name"を持っている必要がありますそれらを減算し、その結果を単一要素の配列リテラルに使用すると、期待される結果は得られません。

+0

[* .test() '*](http://stackoverflow.com/a/10940138/645186)を使用してください。また、おそらくキャラクタセットには開始位置 '^'と終了位置 '$ 'が指定されているはずです。したがって、小切手は実際に平等でより意味をなさないでしょう。 – Shef

+0

私は試しましたが、私はまだ私が何を入力してもハハを見せています – Ron

+0

@Shef、両方の点で合意しました。更新しました。 – trincot

関連する問題