簡體   English   中英

JavaScript日期驗證

[英]Javascript Date Validation

如何使用JavaScript驗證特定格式的日期字符串? 我有一個日期選擇器,其顯示格式為“ dddd MMMM dd,yyyy”(顯示如下:“ Wednesday February 03,2010”。)因此,我必須使用JavaScript驗證此格式。 請幫助我實施此操作。

如果要精確檢查該格式,可以使用正則表達式:

var re = new RegExp( '^(Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday)\\s*(January|February|March|April|May|June|July|August|September|November|December)\\s*(\\d\\d),\\s*(\\d{2,4})$' );

var date = 'Wednesday February 03, 2010';
if ( ( match = date.match( re ) ) != null )
{ // valid
    alert( match );
}

或者,如果您只需要知道它是一個有效的日期,可以使用哪種格式,只需將其轉換為:

var dateSec, dateObj, dateStr = 'Wednesday February 03, 2010';
dateSec = Date.parse( dateStr ); // unix timestamp
if ( dateSec ) // not NaN
   dateObj = new Date( dateSec ); // date object

如果您的應用程序需要日期處理方法,則可能要考慮使用類似Datejs庫的方法。

如果選擇Datejs,則可以使用parseExact()方法進行驗證。 如果日期有效,它將返回一個日期對象;如果日期無效,則返回null。

本地JavaScript對日期格式和驗證的支持受到一定限制。

看看http://www.datejs.com/

您可以執行類似Date.parse('my date string')的操作

Datejs或Dojo可以做到這一點。 使用dojo.date.locale.parse

var dateAsString = "Wednesday February 03, 2010";
var dateObject = dojo.date.locale.parse(dateAsString, {datePattern: "EEEE MMMM dd, yyyy", selector: "date", locale: "en"});

dateObject將包含Date對象;如果字符串與指定的模式不匹配,則為null。 這可以與固定語言或任何本地語言一起使用。

但是,日期選擇器將其用作序列化的Date格式似乎並不正確。 它應該使用易於解析的內容,例如ISO8601表示形式

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM