Inserir traço após cada quarto caractere na entrada

Eu quero inserir um traço após cada quarto caractere na entrada. Eu tenho uma caixa de entrada de cartão de crédito. Quando um usuário está digitando e alcança cada quarto caractere, o jQuery inserirá um hífen (-).

Por exemplo:1234-5678-1234-1231

ATUALIZAR: Estou tentando alguns códigos e acho que estou tão perto do código correto, mas tenho alguns problemas. Aqui está o meu exemplo de código;

$('.creditCardText').keyup(function() {

var cardValue = $('.creditCardText').val(),
    cardLength = cardValue.length;

if ( cardLength < 5 ) {
    if ( cardLength % 4 == 0 ) {
        console.log('4 lük geldi');
        cardValue += "-";
        $('.creditCardText').val(cardValue);
    }
} else {
    if ( cardLength % 5 == 0 ) {
        console.log('5 lük geldi');
        cardValue += "-";
        $('.creditCardText').val(cardValue);

    }
}

});

questionAnswers(7)

yourAnswerToTheQuestion