2012-02-23 11 views
0

。テキストフィールドを赤色に変えるだけのもの。フォームから送信しないようにしたいとは思いません。私はちょうど彼が彼が間違った時間に入るためのばかだとユーザーに示すことを望む。私はすでに正規表現を念頭に置いています。jqueryの時間の検証

(1[012]|0[1-9]):[0-5][0-9](\\s)?(?i)(am|pm) 

私の唯一の問題は、jQuery形式だと思います。今のところ、jQueryの構文に慣れてきたのですが、まだそれほど快適なプログラミングではありません。私はこれを自分自身でやろうとしていますが、もし皆さんが既にきちんとした解決策を持っているのであれば、ホイールを再発明する必要はありません。皆さんの考えを教えてください。ここで

は正確にあなたが知りたいん何

$('#DischargeDateTimeMask').blur(function() { 
     var inputVal = $(this).val(); 
     var dateReg = /^(1[012]|0[1-9]):[0-5][0-9](\\s)?(?i) (am|pm)$/ 
     if (!characterReg.test(inputVal)) { 
      $(this).after('<span class="error error-keyup-4">Incorrect time format fool!: HH:mm am|pm</span>'); 
     } 
    }); 

答えて

2

私の前の抗議にもかかわらず、私は今のところ...今のところそれをテスト... jqueryの検証を使用していた考える何ですか?フォームのサブフォームでその正規表現を使用して、フィールドの値と一致するかどうかを確認することができます:

var myregex = new RegExp(""); 
$("#myform").submit(function() { 
    if(!$("#mydateinput").val().match(/(1[012]|0[1-9]):[0-5][0-9](\\s)?(?i)(am|pm)/)) { 
     // Do stuff to show things about things being invalid. 
     return false; 
    } 
}); 

しかし、実際のポイントは何ですか? :)

+0

私は推測呼び出す方法私はちょうどいくつかのjqueryを書く練習しようとしています。私は現在、$ .blurイベントを使って比較を行っています...私は当初jqueryの検証を避けようとしていましたが、ユーザーが時間フィールドに値を入力しないとこの送信が必要なので(これは必須ではありません)、私は検証と正規表現を使用する方法がわからないが、私は最後のカップルのことを考えている...私は私がこれまで持っているもので私のポストを更新します。 – SoftwareSavant

0

これは私が...

$('#DischargeDateTimeMask').blur(function() { 
    var inputVal = $(this).val(); 
    var dateReg = /^(1[012]|0[1-9]):[0-5][0-9](\\s)? (am|pm)+$/; 
    if (!characterReg.test(inputVal)) { 
     $(this).after('<span class="error error-keyup-4">Incorrect time format fool!: HH:mm am|pm</span>'); 
    } 
    //alert(dateReg.test(inputVal)); 
}); 
0

を探しています私は10時00分〇​​〇秒<を確認して終了時間

より開始時刻がおろし金であるかどうかをチェックするコードを書いてについてですこの時間形式で12時00分00秒

//開始時刻= 10:00:00

//終了時刻= 12:00:00

// ------コードのjQuery -------

<script type="text/javascript"> 


     $.validator.addMethod("graterThan", function(value, element,date) { 
      //If false, the validation fails and the message below is displayed 

      var st= $(date).val(); 
      var etime=parseInt(value.replace(/:/g,""),10); 
      var stime=parseInt(st.replace(/:/g,""),10); 
      return etime>stime; 
     }, "End time must be larger than start time"); 

// ---- -------

 $().ready(function() { 

      $("#AllocationForm").validate({ 
       rules : { endTime:{graterThan:"#startTime"}} 
      }); 

     }); 

    </script> 
+0

これは全く質問に答えません.... –