2017-07-21 20 views
0

関数への入力日付が有効な日付であることを検証したいと考えています。 私は、次のHTMLマークアップ入力がjavascriptで有効な日付であるかどうかを確認する方法

<div class="input-group"> 
         <span class="input-group-addon"><i class="fa fa-calendar"></i> Check in</span> 
         <input id="checkinner" type="date" onchange="datechange(this)" class="form-control" data-inputmask="'alias': 'dd/mm/yyyy'" placeholder="Enter checkin date of birth"> 
        </div> 

し、次のように持って、JavaScriptで

function datechange(element) { 


     if (element.value.IsValidDate()) 
     { 
      //code 
     } 

    } 

私の機能は愛に感謝し、助けです!

+0

、これを試してみてくださいあなたのケースで有効データの定義は何ですか? – MJoraid

+0

https://stackoverflow.com/questions/1353684/detecting-an-invalid-date-date-instance-in-javascript – Saurabh

答えて

1

これを試してみてください:

function datechange(element) { 
     var date = Date.parse(element.value.toString()); 
     if (isNaN(date)) 
      alert('This is not a date object'); 
     else 
      alert('This is a date object'); 
    } 
1

function datechange(element) { 
 
// Expect input as d/m/y 
 
    function isValidDate(s) { 
 
     var bits = s.split('/'); 
 
     var d = new Date(bits[2], bits[1] - 1, bits[0]); 
 
     return d && (d.getMonth() + 1) == bits[1]; 
 
    } 
 
[document.getElementById("checkinner").value].forEach(function(s) { 
 
if(isValidDate(s)){ 
 
    console.log(s + ' : ' + isValidDate(s)) 
 
}else{ 
 
console.log('not valid') 
 
} 
 
     
 
}); 
 
}
<div class="input-group"> 
 
         <span class="input-group-addon"><i class="fa fa-calendar"></i> Check in</span> 
 
         <input id="checkinner" type="date" onchange="datechange(this)" class="form-control" data-inputmask="'alias': 'dd/mm/yyyy'" placeholder="Enter checkin date of birth"> 
 
        </div>

+0

'dd/mm/yyyy'または' dd-mm-yyyy'はどちらも有効な日付形式です。 '/'で日付文字列を分割することは、この質問に対する完全な答えではありません。 – Prabhat

関連する問題