2012-03-14 3 views
0

イベントの開始時刻と終了時刻を12H形式で取得するフォームがあります。終了時刻が開始時刻よりも大きい場合は、「終了時刻は開始時刻よりも大きいはずです」などのエラーを表示するかどうかを確認する必要があります。しかし、私は主にそれを管理しているが、ユーザが開始時刻「12:30 PM」と終了時刻「01:00 PM」(有効な時刻)を表示してもエラーが表示される場合に問題が発生する。どのように私はクライアント側の検証でこれを管理するのですか?私はクライアント側でjavascriptを使用しています。jqueryの時間検証

答えて

0

は、まあ、私はこのコードで終わる:

var s = new Date("03/02/2012 12:30 pm"); 
var e = new Date("03/02/2012 01:00 pm"); 
if(s.getTime() < e.getTime()) 
{ 
    document.write('Valid Time'); 
} 
else 
{ 
    document.write('Invalid Time'); 
} 
+0

顔はどちらも同じです。 –

+0

ええ、私はそれが上記のものより読みやすいと思っています... –

+0

これはあなたが時間値をハードコードしたからです。 –

2

純粋なJSでこれを行う方法は次のとおりです。

var s = "12:30 pm"; 
var e = "01:00 pm"; 
var base = "Wed, 09 Aug 1995 "; 
var start_d = Date.parse(base+s.substr(0, 5)+":00"+s.substr(5)); 
var end_d = Date.parse(base+e.substr(0, 5)+":00"+e.substr(5)); 

if(start_d<end_d){ 
// range is valid; 
} 
+0

私はあなたのコードを試してみましたが、私は、コンソールにstart_dとend_dの値を印刷するとき、それは両方のために「はNaN」を示しています。 –

+0

@ShayanHusaini、それは 'substr(6)'を使っているからです。今度は 'substr(5)'に更新しました。 start_dをエコーすると '807949800000'が表示されます –

+0

ええ、私は値を持っていますが、まだend_dより大きいstart_dを考えています。ここに該当しないのは –