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

Bring content to any platform with the open-source BloomReach CMS. Try for free.

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.

BloomReach CMS: the API-first CMS of the future. Open-source & enterprise-grade. - As a Java developer, you will feel at home using Maven builds and your favorite IDE (e.g. Eclipse or IntelliJ) and continuous integration server (e.g. Jenkins). Manage your Java objects using Spring Framework, write your templates in JSP or Freemarker. Try for free.

Topics:

Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

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

{{ parent.tldr }}

{{ parent.urlSource.name }}