JavaScript: validare la data di scadenza di una carta di credito

JavaScript: validare la data di scadenza di una carta di credito

In JavaScript possiamo validare la data di scadenza di una carta di credito.

La soluzione รจ la seguente.


'use strict';

const isValidCardExpireDate = value => {

    // Il valore del campo del form è sintatticamente valido? (mm/aa)


    if(!/^\d{2}\/\d{2}$/.test(value)) {
        return false;
    }
    let parts = value.split('/');
    let cardMonth = (parts[0][0] === '0') ? parseInt(parts[0][1], 10) : parseInt(parts[0], 10);
    let cardYear = parseInt('20' + parts[1], 10);
    let now = new Date();
    let year = now.getFullYear();
    let month = now.getMonth() + 1;

    // Il mese è valido?

    if(cardMonth > 12 || cardMonth < 1) {
        return false;
    }

    // L'anno è superiore o uguale a quello corrente?

    if(cardYear < year) {
        return false;
    }

    /* Se l'anno coincide con quello corrente ma il mese è superiore,
     * la carta è scaduta.
     */

    if(cardMonth > month && cardYear === year ) {
        return false;
    }

    return true;
};
Torna su