Comment

Tommy

Here is a better and simpler way.

formatCreditCardNumber(unformattedNumber) {
        let pureNumber = unformattedNumber.split(" ").join("");
        let pureNumberArray = pureNumber.split("");
        let formattedNumberArray = [];
        for(let i = 0; i < pureNumberArray.length; i++){
            if(!pureNumberArray[i].match(ONLY_DIGITS)){
                return;
            }
            if (i != 0 && i % 4 === 0){
                formattedNumberArray.push(" ");
            }
            formattedNumberArray.push(pureNumberArray[i]);
        }
        return: formattedNumberArray.join("");
    }

Replies

Tommy

ONLY_DIGITS = "^[0-9]*$";