0

([1-9]|1[0-2]|0[1-9]):([0-5][0-9]) (AM|PM|am|pm)時間係数には正規表現を使用しています。例:HH:MMpm。

ここで、この正規表現を使用する必要があります。

サンプルコード:

if(currentVal.match(/([1-9]|1[0-2]|0[1-9]):([0-5][0-9]) (AM|PM|am|pm)/g) != currentVal) {
    alert("Invalid time.");
}                         

var parts = currentVal.split(" ");


var parts = currentVal.split(":");
parts[0] = parseInt(parts[0]);
parts[1] = parseInt(parts[1]);

if(parts[0] == 12) {
    parts[0] = 0;
}
if(parts[1].toLowerCase() == 'pm') {
    parts[0] += 12;
}

ここで、私の間違いはparseInt(parts[1]); 正規表現には「:」と「スペース」と「(AM | PM | am | pm)」があるためparts[1]、小文字では変換されません。

誰かがこの正規表現を使用するのを手伝ってもらえますか?

4

1 に答える 1

1

これの代わりに、他の人が指摘した言葉の誤用は別として...

var parts = currentVal.split(" ");
var parts = currentVal.split(":");

...別の正規表現を使用してスペースコロンで分割します。

var parts = currentVal.split(/[ :]/);

そしてもちろん、'pm'はに保存されparts[2]ます。

于 2012-06-13T13:35:43.140 に答える