2017-06-16 3 views
0

私はあなたが指定した文字列を日付形式になっていることを確認するために、「.isValid()」機能を使用することができることを見てきました:MomentJSを使用して日付FORMAT(日付文字列ではない)を検証しますか?

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

しかし形式があることを確認する方法があります正しい?たとえば:

'YYYY-MM-DD'trueを返す必要がありますが、文字列の末尾の文字が有効なのDateTime文字ではありませんので、

'YYYY-MM-DDsadsadl'falseを返す必要があります。

私たちは、ユーザーが既存の日付書式を入力できるようにするツールを開発しています.2番目の入力で希望の書式を入力できますが、文字列が正しく解析されて変換されるように検証する必要があります。特定の日付を入力していません。

すべての可能な日付形式を受け入れる必要があります。

答えて

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

関連する問題