Pergunta

O que é o caminho certo para verificar um cartão de crédito com um regex? Se um deles para uso há toneladas online. Se não como verificar?

Foi útil?

Outras dicas

Veja este link encontrar ou cartão de crédito Verificando Números com regulares Expressões

  • Visa: ^ 4 [0-9] {12} (?: [0-9] {3}) números de cartão de $ All Visa começar com 4. Novos cartões têm 16 dígitos?. Cartões velhos têm 13.
  • MasterCard:. ^ 5 [1-5] [0-9] {14} Números $ Todos MasterCard começar com os números 51 a 55. Todos têm 16 dígitos
  • American Express:. ^ 3 [47] [0-9] {13} números de cartão $ American Express começar com 34 ou 37 e tem 15 dígitos
  • Diners Club: ^ 3 (?: 0 [0-5] | [68] [0-9]) [0-9] {11} $ números de cartões Diners Club começam com 300 através de 305, 36 ou 38. todos têm 14 dígitos. Existem cartões Diners Club que começam com 5 e ter 16 dígitos. Estes são uma joint venture entre Diners Club e MasterCard, e deve ser processado como um MasterCard.
  • Discover: ^ 6 (?: 011 | 5 [0-9] {2}). [0-9] {12} números de cartão $ Descubra começar com 6011 ou 65. Todos têm 16 dígitos
  • JCB: ^ (?: 2131 | 1800 | 35 \ d {3}) \ d {11} $ JCB cartões começando com 2131 ou 1800 tem 15 dígitos. JCB cartões começando com 35 tem 16 dígitos.

Bye.

Eu acho que você está procurando o Luhn algoritmo . É uma fórmula simples soma de verificação usada para validar uma variedade de números de identificação.

Isso depende de quão preciso você quer que seu pré-validação para ser. Para tudo validar você pode, você precisa calcular o que o último dígito do cartão deve ser e comparar com o que é digitado, o que um RegEx não pode fazer.

Para o algoritmo e outros detalhes consulte este link , que também fornece uma lista de comum prefixos de números que você poderia validar contra.

- Edit:

De fato, eu vou um pouco em desacordo comigo mesmo e concordar com Cletus. Validar tanto quanto você pode (sem entrar em detalhes de tipos específicos de cartões de crédito [IMHO]) antes de enviá-lo. E escusado será dizer (espero), que esta validação deve ser feito em JavaScript, para torná-lo rápido, em seguida, no servidor, para verificar novamente (e para JavaScript pessoas com deficiência).

- resposta anterior:

Não se preocupe; basta deixar o provedor de verificá-lo quando você realmente tentar pagamento. Nenhuma razão legítima para tentar verificar-lo sozinho. Você pode usar este entanto, se você realmente sentir como ele.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top