Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Java Regular Expressions to Validate Credit Cards

DZone's Guide to

Java Regular Expressions to Validate Credit Cards

· Java Zone
Free Resource

Just released, a free O’Reilly book on Reactive Microsystems: The Evolution of Microservices at Scale. Brought to you in partnership with Lightbend.

Visa Card

^4[0-9]{12}(?:[0-9]{3})?$^5[1-5][0-9]{14}$

Amex Card

^3[47][0-9]{13}$

Carte Blanche Card

^389[0-9]{11}$

Diners Club Card

^3(?:0[0-5]|[68][0-9])[0-9]{11}$

Discover Card

^65[4-9][0-9]{13}|64[4-9][0-9]{13}|6011[0-9]{12}|(622(?:12[6-9]|1[3-9][0-9]|[2-8][0-9][0-9]|9[01][0-9]|92[0-5])[0-9]{10})$

JCB Card

^(?:2131|1800|35\d{3})\d{11}$

Visa Master Card

^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14})$

Insta Payment Card

^63[7-9][0-9]{13}$

Laser Card

^(6304|6706|6709|6771)[0-9]{12,15}$

Maestro Card

^(5018|5020|5038|6304|6759|6761|6763)[0-9]{8,15}$

Solo Card

^(6334|6767)[0-9]{12}|(6334|6767)[0-9]{14}|(6334|6767)[0-9]{15}$

Switch Card

^(4903|4905|4911|4936|6333|6759)[0-9]{12}|(4903|4905|4911|4936|6333|6759)[0-9]{14}|(4903|4905|4911|4936|6333|6759)[0-9]{15}|564182[0-9]{10}|564182[0-9]{12}|564182[0-9]{13}|633110[0-9]{10}|633110[0-9]{12}|633110[0-9]{13}$

Union Pay Card

^(62[0-9]{14,17})$

KoreanLocalCard

^9[0-9]{15}$

BCGlobal

^(6541|6556)[0-9]{12}$

As you can see, regular expressions are incredibly powerful and the above examples are very basic. Regular expressions are essential for all sorts of application from web scraping, form validation and pattern matching.

Hopefully you will find this resource useful and would come back to refer again and again.

Strategies and techniques for building scalable and resilient microservices to refactor a monolithic application step-by-step, a free O'Reilly book. Brought to you in partnership with Lightbend.

Topics:

Published at DZone with permission of Jagadeesh Motamarri, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}