2

私は正規表現があまり得意ではありません。正規表現にイライラしています。

例:

私は次の日時を持っています: 05/16/2013 12:00 am

この形式を尊重する JavaScript 正規表現が必要です: mm/dd/yyyy hh:mm [am/pm]

 var dateReg = /^[0,1]?\d{1}\/(([0-2]?\d{1})|([3][0,1]{1}))\/(([1]{1}[9]{1}[9]{1}\d{1})|([2-9]{1}\d{3}))$/;
if(!dateReg.test(inputVal)) {
    $(this).after('<span class="error error-keyup-5">Invalid date format.</span>');
}

ただし、このコードは日付に対してのみ機能し、時間に対しては機能しません。ご協力いただきありがとうございます。

4

3 に答える 3

2

コード スニペットは日付のみと一致し、時間と一致するアトムはありません。正規表現は次のようになります。

dateReg = /^[0,1]?\d\/(([0-2]?\d)|([3][01]))\/((199\d)|([2-9]\d{3}))\s[0-2]?[0-9]:[0-5][0-9] (am|pm)?$/
于 2013-05-18T17:24:48.230 に答える
1

日付と時刻を自分で解析するべきではありません。それを行うのに適したライブラリを見つけてください。d3.js には、指定した形式に従って日付と時刻を解析するための優れたサポートが含まれています。https://github.com/mbostock/d3/wiki/Time-Formattingを参照してください。

于 2013-05-18T20:46:56.803 に答える
1

午前/午後の正規表現は次の場所にあります

/^(0?[1-9]|1[012])(:[0-5]\d) [APap][mM]$/
于 2013-05-18T17:25:32.227 に答える