Jquery / Javascript - Add years to date variable

后端 未结 6 1469
耶瑟儿~
耶瑟儿~ 2021-02-19 06:05

I have a small trouble that would be great to have some help with. I am creating a small form that I want to take a current date formatted \'dd/mm/yyyy\' and add a

6条回答
  •  生来不讨喜
    2021-02-19 06:48

    Sometimes what looks like quite a straight forward task becomes quite complicated.

     $(document).ready( function () {
    
        $("#registerfor, #startdate").change( function () {
    
            var str = $("#startdate").val();
    
            if( /^\d{2}\/\d{2}\/\d{4}$/i.test( str ) ) {
    
                var parts = str.split("/");
    
                var day = parts[0] && parseInt( parts[0], 10 );
                var month = parts[1] && parseInt( parts[1], 10 );
                var year = parts[2] && parseInt( parts[2], 10 );
                var duration = parseInt( $("#registerfor").val(), 10);
    
                if( day <= 31 && day >= 1 && month <= 12 && month >= 1 ) {
    
                    var expiryDate = new Date( year, month - 1, day );
                    expiryDate.setFullYear( expiryDate.getFullYear() + duration );
    
                    var day = ( '0' + expiryDate.getDate() ).slice( -2 );
                    var month = ( '0' + ( expiryDate.getMonth() + 1 ) ).slice( -2 );
                    var year = expiryDate.getFullYear();
    
                    $("#expires").val( day + "/" + month + "/" + year );
    
                } else {
                    // display error message
                }
            }
        });
    });
    

    Here is a fiddle so you can see it in action.

提交回复
热议问题