신용카드 번호 정규표현식을 이용하면 잘못된 숫자를 걸러낼 수 있습니다.


마스터 카드 길이는 16자리이고, 첫 숫자는 항상 5가 옵니다.

ex.1)

 5[1-5]\d{14}


비자 카드 길이는 13~16자리로 되어 있고, 첫 숫자는 4로 시작합니다.

ex.2)

 4\d{12}(\d{3})?

아메리칸익스프레스 카드 길이는 15자리이고, 34나 37로 시작합니다.

ex.3)

 3[47]\d{13}

디스커버 카드는 16자리이고, 6011로 시작합니다.

ex.4)

 6011\d{12}

다이너스클럽 카드는 14자리이고, 300~305, 또는 36이나 38로 시작합니다.

ex.5)

 (30[0-5]|3[68]\d)\d{11}


이 다섯 카드 번호를 하나의 정규표현식으로 구현하면 아래의 형식이 됩니다.

ex.6)

 ((5[1-5]\d{14})|(4\d{12}(\d{3})?)|(3[47]\d{13})|(6011\d{12})|((30[0-5]|3[68]\d)\d{11}))