카드 플래그를 반환하는 Javascript 방법입니다.

1294 단어 javascript
나는 우리가 지금 어떤 카드를 처리해야 할지 정말 확실하지 않다. 그러나 나는 번호를 스위치에 보내기 전에 이 카드들을 정확하게 평가해야 한다. 스위치는 번호에 따라 로고 카드를 얻을 수 있는 유사한 것이 없다. 그래서 나는 검색해서 나의 코드 세션에서 컴파일해서 지금 여기에 쓴다.적어라, 나는 이것이 다른 사람들을 도울 수 있기를 바란다😁

by default, the flag returned is 'visa' if nothings match.


PS: 사실은, 나는 이 정규 표현식이 어떻게 작동하는지 모른다.
   returnflag('2014 7722409 8894');

   function returnflag(cardNumber) {
        cardNumber = cardNumber.toString().replace(/[^0-9]+/g, '');
        const cards = {
            visa: /^4[0-9]{12}(?:[0-9]{3})?/,
            mastercard: /^(((51)|(52)|(53)|(54)|(55))\d{0,14})/,
            diners: /^3(?:0[0-5]|[68][0-9])[0-9]{11}/,
            amex: /^3[47][0-9]{13}/,
            discover: /^6(?:011|5[0-9]{2})[0-9]{12}/,
            hipercard: /^(606282\d{10}(\d{3})?)|(3841\d{15})/,
            elo: /^((((636368)|(438935)|(504175)|(451416)|(636297))\d{0,10})|((5090)|(5067)|(4576)|(4011))\d{0,12})/,
            jcb: /^(?:2131|1800|35\d{3})\d{11}/,
            aura: /^(5078\d{2})(\d{2})(\d{11})$/
        };

        for (let flag in cards) {
            if (cards[flag].test(cardNumber)) {
                return flag;
            }
        }
        return 'visa';
    }

좋은 웹페이지 즐겨찾기