2017-06-16 1628 views
0

我已經看到了你可以使用「.isValid()」函數檢查一個給定的字符串是日期格式:使用MomentJS驗證日期格式(不是日期字符串)?

moment('2007-05-05', 'YYYY-MM-DD', true).isValid() 

但是,有沒有辦法確認格式是正確?例如:

'YYYY-MM-DD'應該返回true,但

'YYYY-MM-DDsadsadl'應該返回false因爲在字符串的結尾字符不是有效的DateTime字符。

我們正在研究一個工具,它允許用戶輸入一個現有的日期格式,然後輸入第二個輸入來輸入所需的格式,但我們需要驗證以確保字符串可以正確解析和轉換,但它們不是沒有輸入具體的日期。

該應用程序必須接受任何和所有可能的日期格式。

回答

1

使用以下函數驗證您的格式。

validFormat = function(inputFormat){ 
    var validation = moment(moment('2017-06-17').format(inputFormat)).inspect(); 
    if(validation.indexOf('invalid') < 0) 
    return true; 
    else 
    return false; 
} 

請花點時間瞭解這一點。這只是使用inspect()進行反向驗證。日期2017-06-17可以被任何有效日期替換。 這Moment Js Docs將幫助您識別有效的格式。

只是對這個函數的調用作爲

validFormat('YYYY MM DD') 
+0

謝謝您的幫助!這似乎有伎倆。我一定會讀到一些事情,我一定要確保我掌握了這個功能的功能。 – ryanpm40

相關問題