簡體   English   中英

JavaScript中的RegExp日期驗證

[英]RegExp date validation in javascript

我剛剛學習了正則表達式,並使用正則表達式創建了一個dd-mm-yyyy日期驗證器:

^(0[1-9]|[12][0-9]|3[01])([-/.])(0[1-9]|1[0-2])\2(19|20)\d\d$

正則表達式可視化

Debuggex演示

它似乎工作正常。 但我想知道是否有任何改進可以確保沒有錯誤。 有什么建議么?

為什么重新發明輪子。 獲取內置日期解析方法Date.parse(String)幫助,如下所示:

var timestamp = Date.parse(str); // str is your input string for data
var date = null
if (isNaN(timestamp) == false)
    date = new Date(timestamp);
else
    alert("Invalid date");

也許你想將moment.js包含在你的項目中? 然后你可以寫:

moment("not a real date").isValid(); // false

如果您願意,也可以使用自己的格式字符串。 ;-)這也會給你帶來優勢,即如果日期確實存在,那就很明顯(想想29-02-2013,這是不存在的)。

暫無
暫無

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

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