0
時間を定義するにはいくつかの問題があります。時間を3つの時間タイプに分けて朝、夕方、夜にしたいと思っています。 時刻が00:00から10:00に開始する場合は、時刻タイプは朝、 時刻が10:01から18:00に開始する場合は、時刻タイプは夕方、 時刻が18:01から23:59までの場合は、タイプが夕方です。時間は、私はこのjavascriptで正規表現を区切る方法時間形式
$(document).ready(function(){
$('#submit').on('click',function(){
var hrs=$('#hours').val();
var nm=$('#scedule').val();
var patt = new RegExp("^([0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$");
var patts = patt.test(hrs);
//morning = 00:00 - 10:00
var morn = new RegExp("^([0-9]|0[0-9]|1[0-9]):[0-5][0-9]$");
var morning = morn.test(hrs);
//evening = 10:01 - 18:00
var even = new RegExp("^(1[0-9]|[0-9]):[0-5][0-9]$");
var evening = even.test(hrs);
//night = 18:01 - 00:00
var nig = new RegExp("^(1[0-9]|2[0-3]):[0-5][0-9]$");
var night = nig.test(hrs);
if (patts == morning) {
alert('This is Morning');
} else if (patts == evening){
alert('This is Evening');
} else if (patts == night){
alert('This is night');
} else {
alert('Format is wrong');
}
});
});
のようなコードのjQueryを持っており、これは私のフォームのHTMLで、 夜です:あなたはちょうど使用し、ここで正規表現を必要としない
Scedule : <input type="text" id="scedule"><br>
Time : <input type="text" id="hours"><br>
<input type="submit" value="submit" id="submit"><br>
なぜ正規表現が必要ですか? if(hrs <= "10:00") '、' if(hrs> "10:00" && hrs <= "18:00") '、' if(hrs> "18:00")、 ) '? – wdosanjos
@wdosanjosこれは、ltとgt演算子が数値文字列でうまく動作しないためです。 '" 9:00 ">" 10:00 "'などとなります。 –
@RoryMcCrossan入手しました。テストの前に文字列 'if(hrs.length <5)hrs = '0' + hrs'を正規化し、正規表現を使用する方が簡単です。 – wdosanjos