2017-07-25 1 views
-1

"/"を削除して日付を文字列に変換し、YYYYMMDDを使用して文字列の最初の6文字と比較したかった。DD/MM/YYYYをYYYYMMDDに変換して指定された文字列と比較する

HTML:

<div class="cust-dob"> 
     <span class="input-append date form-control2" id="dp3" data-date="12-02-2012" data-date-format="dd-mm-yyyy" placeholder=""> 
     <input class="span2 valid" size="9" name="custdob" id="custdob" type="text" placeholder="DOB" value="" readonly="" aria-invalid="false"> 
      <span class="add-on"><i class="fa fa-calendar" aria-hidden="true"></i></span> 
    </span> 
    </div> 
    <input type="text" class="form-control2 resizeselect" name="nric" id="nric" placeholder="" size="12" value=""> 

スクリプト:

$("#nric").blur(function(){ 
    var ic = $("#nric").val(); 
    var dob = $("#cust-dob").val(); 
    var updateddob = new Date(dob.split("/").join("")); 
    if(ic != updateddob){ 
    alert("wrong nric"); 
    } 
    console.log(updateddob); 
}); 

私はこの問題を解決する助けてください。

+6

あなたは '$( "CUST-DOB")に#を忘れてしまいましたヴァル();'。? $( "cust-dob")。val(); '... – Andy

+0

@Andy' $( "cust-dob")。val(); ' – madalinivascu

+0

なぜdatepickerを使用せず、両方の日付は文字列ではない? – madalinivascu

答えて

1

私はあなたが2つの異なるフォーマットの日付文字列を比較したいと思います。あなたは同じで日付変換と文字列操作を使用しようとしているように見える

  • 使用moment.js

    1. 文字列操作にそれを保管してください:私はあなたがこれを行うことができる2つの方法があります時間は、混乱を招くだけです。単純にする。

      コードスニペット:

      var a = '20111031'; 
       
      var b = '31/10/2011'; 
       
      
       
      // STRING OPERATIONS: 
       
      
       
      console.log(b.split('/')[0] === a.split('').slice(6).join('') && b.split('/')[1] === a.split('').slice(4, 6).join('') && b.split('/')[2] === a.split('').slice(0, 4).join('')); 
       
      
       
      // true 
       
      
       
      // MOMENT.JS: 
       
      
       
      console.log(moment(b, 'DD/MM/YYYY').format() === moment(a, 'YYYYMMDD').format()) 
       
      
       
      // true
      <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.js"></script>

    関連する問題