문제

Regex로 신용 카드를 확인하는 올바른 방법은 무엇입니까? 어떤 것을 사용할 것이라면 온라인으로 톤이 있습니다. 검증하는 방법이 아니라면?

도움이 되었습니까?

다른 팁

이 링크를 참조하십시오 신용 카드 번호 찾기 또는 확인 정기적 인 표현

  • Visa : ^4 [0-9] {12} (? : [0-9] {3})? $ 모든 비자 카드 번호는 4로 시작합니다. 새 카드에는 16 자리가 있습니다. 오래된 카드에는 13이 있습니다.
  • 마스터 카드 : ^5 [1-5] [0-9] {14} $ 마스터 카드 번호는 숫자 51에서 55로 시작합니다.
  • American Express : ^3 [47] [0-9] {13} $ American Express 카드 번호는 34 또는 37로 시작하여 15 자리가 있습니다.
  • Diners Club : ^3 (? : 0 [0-5] | [68] [0-9]) [0-9] {11} $ Diners 클럽 카드 번호는 300 ~ 305, 36 또는 38로 시작합니다. 모두 14 개가 있습니다. 숫자. 5로 시작하고 16 자리로 시작하는 Diners Club 카드가 있습니다. 이들은 Diners Club과 Mastercard 사이의 합작 투자이며 마스터 카드처럼 처리되어야합니다.
  • Discover : ^6 (? : 011 | 5 [0-9] {2}) [0-9] {12} $ discover 카드 번호는 6011 또는 65로 시작합니다. 모두 16 자리가 있습니다.
  • JCB : ^(? : 2131 | 1800 | 35 d {3}) d d {11} $ JCB 카드는 2131 또는 1800으로 시작합니다. 35 자리로 시작하는 JCB 카드에는 16 자리가 있습니다.

안녕히 계세요.

나는 당신이 찾고 있다고 생각합니다 Luhn 알고리즘. 다양한 식별 번호를 검증하는 데 사용되는 간단한 체크섬 공식입니다.

그것은 당신이 당신의 사전 검증이 얼마나 정확한지에 달려 있습니다. 가능한 모든 것을 검증하려면 카드의 마지막 숫자가 무엇인지 계산하고 입력 할 수없는 것과 비교해야합니다.

알고리즘 및 기타 세부 사항은 참조하십시오 이 링크, 또한 검증 할 수있는 공통 번호 접두사 목록도 제공합니다.

-- 편집하다:

사실, 나는 나 자신에 대해 약간 동의하지 않고 Cletus에 동의합니다. 전송하기 전에 가능한 한 특정 유형의 신용 카드 [IMHO]에 대한 세부 정보를 얻지 않고도 확인하십시오. 그리고이 유효성 검사는 자바 스크립트로 이루어져야한다는 것은 (희망적으로), 빠르게, 서버에서, 두 번 확인하기 위해 (및 JavaScript Disabled People)를 위해 수행되어야한다는 것은 (희망적으로) 말할 것도 없습니다.

- 이전 응답 :

귀찮게하지 마십시오. 실제로 지불을 시도 할 때 제공자가 확인하도록하십시오. 정당한 이유는 없습니다. 당신이 사용할 수있는 이것 그러나 당신이 정말로 느끼면.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top