[英]Format date() to eee,dd MMM YYYY,hh:mm:ss in JavaScript
[英]How to validate date with format “MMM DD, YYYY h:mm:ss A” in JavaScript?
我想使用格式MMM DD,YYYY h:mm:ss A驗證輸入的日期格式。我在下面嘗試過,但是沒有用:
var r = /^(((0[13578]|1[02])[\/\.-](0[1-9]|[12]\d|3[01])[\/\.-]((19|[2-9]\d)\d{2})\s(0[0-9]|1[0-2]):(0[0-9]|[1-59]\d):(0[0-9]|[1-59]\d)\s(AM|am|PM|pm))|((0[13456789]|1[012])[\/\.-](0[1-9]|[12]\d|30)[\/\.-]((19|[2-9]\d)\d{2})\s(0[0-9]|1[0-2]):(0[0-9]|[1-59]\d):(0[0-9]|[1-59]\d)\s(AM|am|PM|pm))|((02)[\/\.-](0[1-9]|1\d|2[0-8])[\/\.-]((19|[2-9]\d)\d{2})\s(0[0-9]|1[0-2]):(0[0-9]|[1-59]\d):(0[0-9]|[1-59]\d)\s(AM|am|PM|pm))|((02)[\/\.-](29)[\/\.-]((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))\s(0[0-9]|1[0-2]):(0[0-9]|[1-59]\d):(0[0-9]|[1-59]\d)\s(AM|am|PM|pm)))$/g;
r.test("Dec 08, 2015 3:11:00 AM");
我不是很擅長正則表達式,任何幫助將不勝感激!
謝謝!
正則表達式不是很好地處理日期。 例如,它不適合區分30或31天的月份。 您的嘗試進一步證明了它是多么不合理,您創建了一個無法讀取,無法維護的表達式,並且幾乎無法對其進行測試或修復。
而是使用專用的日期/時間組件(如果滿足您的要求,可以使用現有的組件,也可以自己開發)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.