0

誰かがこの日付形式をテストするための正規表現を書くことができます2012/11/14 14:28:12か?

私はすでに日付部分の正規表現を持っています:

/^\d{4}\/\d{2}\/\d{2}$/

これに追加して、時間の存在をテストするにはどうすればよいですか?

4

2 に答える 2

5

代わりにコンストラクターを使用してDate、その形式で日付をテストします。

var isValid = !!new Date('2012/11/14 14:28:12').getTime();

デモ: http://jsfiddle.net/rwCeA/

すべてのテスト ブラウザー (safari/chrome/firefox/ie7+) で動作します。Date コンストラクターは多くの日付バリアントを受け取りますが、これを正規表現と組み合わせて特定の形式を強制することができます。

于 2012-12-03T11:21:41.383 に答える
4

私が最近書いたこのフィドルhttp://jsfiddle.net/jstoolsmith/Db3JM/は、より洗練されたコードであり、関連する正規表現は次のとおりです。

/(?:(\d{4})([\-\/.])([0-3]?\d)\2([0-3]?\d)|([0-3]?\d)([\-\/.])([0-3]?\d)\6(\d{4}))(?:\s+([012]?\d)([:hap])([0-5]\d))?/i
于 2012-12-03T11:18:11.307 に答える