2011-07-29 18 views
3

私はeclipseの下でJQuery-mobileを使用しています。私は2つのテキストフィールドを持つフォームを持っています。フォームの最初のテキストフィールドが数字だけを受け入れることができるようにしたいので、入力がcharかtextか空であってもエラーが表示されます。バリデーションについては、jquery validValを使用しています。私は `JQuery-mobile検証!

<form id="ccform" method = "post"> 
     <table> 
    <tr> 
    <td><label for="cc">Card Number</label></td> 
      <td><input name = "ccc" class="required" type = "text" id = "cc" maxlength="23" " ></td> 
    </tr> 
    <tr> 
    <td>Card Holder Name</td> 
    <td><input class="required" type = "text"></td> 
    </tr> 

    </table> 

    </form> 

とも私のコードが含まれている:

<script> 
    $("#ccform").validVal({ 
     customValidaton:{ 
      "cc": function ($field){ 
       var myexpr =/^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})$/ 
       if(myexpr.test($field.val())) {return true;} 
       else{return false;} 
       } 
      } 
    }); 
    </script> 

` 

が、私はどんな結果、何を...得るいけないので、任意の助けをいただければ幸いです。

答えて

2

構文エラーがあります。正規表現は/で始まり、終了します。あなたはhttp://validval.frebsite.nl/examples.php

/^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})$/

+0

私のコードと質問を更新しました。それでも動作しません。 –

2

を見ることができます。

例1を参照してください。validValバリデーションが利用可能です。

2

なぜあなた自身の検証を書いているのですか? this oneなどの既存のプラグインを使用する

このようにすることができます。 最初に以下のようにファイルを変更してください。 Required number属性に注意してください。

<input name = "ccc" class="required number" type = "text" id = "cc" maxlength="23">

次に簡単な$("#ccform").validate();は魔法を行うことができます。

完全な使用例はこちらhttp://jsfiddle.net/mayooresan/A3rvK/3/