php
PHP - 신용카드 정규표현식
아래 신용 카드 정규 표현식을 지원합니다.
|
BC, Visa, MasterCard, Discover, Amex, Diners Club, JCB 에 해당하는 카드
^(?:(94[0-9]{14})|(4[0-9]{12}(?:[0-9]{3})?)|(5[1-5][0-9]{14})|(6(?:011|5[0-9]{2})[0-9]{12})|(3[47][0-9]{13})|(3(?:0[0-5]|[68][0-9])[0-9]{11})|((?:2131|1800|35[0-9]{3})[0-9]{11}))$
Visa, MasterCard, Discover, Amex, Diners Club/Carte Blanche 에 해당하는 카드
^(?:(?<Visa>4\d{3})|(?<Mastercard>5[1-5]\d{2})|(?<Discover>6011)|(?<DinersClub>(?:3[68]\d{2})|(?:30[0-5]\d))|(?<AmericanExpress>3[47]\d{2}))([ -]?)(?(DinersClub)(?:\d{6}\1\d{4})|(?(AmericanExpress)(?:\d{6}\1\d{5})|(?:\d{4}\1\d{4}\1\d{4})))$
#일치: 4111-2222-3333-4444 | 3411 222222 33333 | 5111222233334444
#불일치: 4111-2222-3333-444 | 3411-2222-3333-4444 | Visa
Visa 카드
^([4]{1})([0-9]{12,15})$
4\d{12}(?:\d{3})?
#일치: 4125632152365 | 418563256985214 | 4125632569856321
#불일치: 3125652365214 | 41256321256 | 42563985632156322
Master 카드
^([51|52|53|54|55]{2})([0-9]{14})$
5[12345]\d{14}
^5[1-5][0-9]{14}$
^5[1-5]\d{14}$
#일치: 5125632154125412 | 5225632154125412 | 5525632154125412
#불일치: 5625632154125412 | 4825632154125412 | 6011632154125412
^((5[1-5])([0-9]{2})((-|\s)?[0-9]{4}){3})$
#일치: 5144-0000-0000-0000 | 5343 0000 0000 0000 | 5400000000000000
discover 카드
^([6011]{4})([0-9]{12})$
6(?:011|5\d{2})\d{12}
(^(6011)\d{12}$)|(^(65)\d{14}$)
#일치: 6011212541254121 | 6011523654125685
#불일치: 5021152365212541 | 601126523652321 | 60112563212563215
^((6011)((-|\s)?[0-9]{4}){3})$
#일치: 6011-0000-0000-0000 | 6011000000000000 | 6011 0000 0000 0000
Diners Club 카드
^([30|36|38]{2})([0-9]{12})$
3(?:0[012345]|[68]\d)\d{11}
#일치: 30125212365212 | 36125212365212 | 38125212365212
#불일치: 301252123652121 | 40256631125452 | 361251254125212
Switch, Solo, Visa, MasterCard 및 Discover 에 해당하는 카드
^((67\d{2})|(4\d{3})|(5[1-5]\d{2})|(6011))-?\s?\d{4}-?\s?\d{4}-?\s?\d{4}|3[4,7]\d{13}$
#일치: 5154-1234-1234-1342 | 4444333322221111 | 6767 1111 1111 1111
#불일치: 1234123412341234 | 1111111 | 987654321
MC, Visa, Amex, Diners/CarteBlanche, Discover/Novus, Enroute 및 JCB 에 해당하는 카드
^3(?:[47]\d([ -]?)\d{4}(?:\1\d{4}){2}|0[0-5]\d{11}|[68]\d{12})$|^4(?:\d\d\d)?([ -]?)\d{4}(?:\2\d{4}){2}$|^6011([ -]?)\d{4}(?:\3\d{4}){2}$|^5[1-5]\d\d([ -]?)\d{4}(?:\4\d{4}){2}$|^2014\d{11}$|^2149\d{11}$|^2131\d{11}$|^1800\d{11}$|^3\d{15}$
#일치: 341-1111-1111-1111 | 5431-1111-1111-1111 | 30569309025904
#불일치: 30-5693-0902-5904 | 5631-1111-1111-1111 | 31169309025904
Visa CC, Visa ATM 전용, Visa Electron 및 Visa Delta 에 해당하는 카드
13 또는 16 자리 번호와 일치
(^4\d{12}$)|(^4[0-8]\d{14}$)|(^(49)[^013]\d{13}$)|(^(49030)[0-1]\d{10}$)|(^(49033)[0-4]\d{10}$)|(^(49110)[^12]\d{10}$)|(^(49117)[0-3]\d{10}$)|(^(49118)[^0-2]\d{10}$)|(^(493)[^6]\d{12}$)
#일치: 4111111111111111
#불일치: 4903020000000008
Meastro 카드
(^(5[0678])\d{11,18}$) |(^(6[^0357])\d{11,18}$) |(^(601)[^1]\d{9,16}$) |(^(6011)\d{9,11}$) |(^(6011)\d{13,16}$) |(^(65)\d{11,13}$) |(^(65)\d{15,18}$) |(^(633)[^34](\d{9,16}$)) |(^(6333)[0-4](\d{8,10}$)) |(^(6333)[0-4](\d{12}$)) |(^(6333)[0-4](\d{15}$)) |(^(6333)[5-9](\d{8,10}$)) |(^(6333)[5-9](\d{12}$)) |(^(6333)[5-9](\d{15}$)) |(^(6334)[0-4](\d{8,10}$)) |(^(6334)[0-4](\d{12}$)) |(^(6334)[0-4](\d{15}$)) |(^(67)[^(59)](\d{9,16}$)) |(^(6759)](\d{9,11}$)) |(^(6759)](\d{13}$)) |(^(6759)](\d{16}$)) |(^(67)[^(67)](\d{9,16}$)) |(^(6767)](\d{9,11}$)) |(^(6767)](\d{13}$)) |(^(6767)](\d{16}$))
#일치: 5600000000000003
#불일치: 6011000000000004
Amex 카드
(^3[47])((\d{11}$)|(\d{13}$))
#일치: 340000000000009
#불일치: 4508750000000009
3[47]\d{13}
#일치: 371449635398431
#불일치: 37144935398431
Solo 카드
(^(6334)[5-9](\d{11}$|\d{13,14}$)) |(^(6767)(\d{12}$|\d{14,15}$))
#일치: 6334500000000003
#불일치: 3528000000000007
Switch 카드
(\d{6}[-\s]?\d{12})|(\d{4}[-\s]?\d{4}[-\s]?\d{4}[-\s]?\d{4})
#일치: 5111 1111 1111 11118 | 1234123412341324 | 123456 123456789012
#불일치: 511a 1111 1111 11118
Switch CC 카드
(^(49030)[2-9](\d{10}$|\d{12,13}$)) |(^(49033)[5-9](\d{10}$|\d{12,13}$)) |(^(49110)[1-2](\d{10}$|\d{12,13}$)) |(^(49117)[4-9](\d{10}$|\d{12,13}$)) |(^(49118)[0-2](\d{10}$|\d{12,13}$)) |(^(4936)(\d{12}$|\d{14,15}$)) |(^(564182)(\d{11}$|\d{13,14}$)) |(^(6333)[0-4](\d{11}$|\d{13,14}$)) |(^(6759)(\d{12}$|\d{14,15}$))
#일치: 4903020000000008
#불일치: 4111111111111111
^([0-9]{6}[\s\-]{1}[0-9]{12}|[0-9]{18})$
#일치: 000000 000000000000 | 000000-000000000000 | 000000000000000000
#불일치: 000000_000000000000
Dinner CC 카드
(^(30)[0-5]\d{11}$)|(^(36)\d{12}$)|(^(38[0-8])\d{11}$)
#일치: 30000000000004
#불일치: 3528000000000007
Cart Blance 카드
^(389)[0-9]{11}$
#일치: 38900000000007
#불일치: 30000000000004
EnRoute 카드
(^(2014)|^(2149))\d{11}$
#일치: 201400000000009
#불일치: 38900000000007
UK Debit 카드
Solo, Switch 또는 Maestro 에 매치됩니다.
(^(5[0678])\d{11,18}$)|(^(6[^05])\d{11,18}$)|(^(601)[^1]\d{9,16}$)|(^(6011)\d{9,11}$)|(^(6011)\d{13,16}$)|(^(65)\d{11,13}$)|(^(65)\d{15,18}$)|(^(49030)[2-9](\d{10}$|\d{12,13}$))|(^(49033)[5-9](\d{10}$|\d{12,13}$))|(^(49110)[1-2](\d{10}$|\d{12,13}$))|(^(49117)[4-9](\d{10}$|\d{12,13}$))|(^(49118)[0-2](\d{10}$|\d{12,13}$))|(^(4936)(\d{12}$|\d{14,15}$))
#일치: 6334500000000003
#불일치: 6011000000000004
JCB 카드
(^(352)[8-9](\d{11}$|\d{12}$))|(^(35)[3-8](\d{12}$|\d{13}$))
(?:2131|1800|35\d{3})\d{11}
#일치: 3528000000000007
#불일치: 4508750000000009
Switch, Solo, Visa, MasterCard, Amex 및 Discover 에 해당하는 카드
^((67\d{2})|(4\d{3})|(5[1-5]\d{2})|(6011))(-?\s?\d{4}){3}|(3[4,7])\d{2}-?\s?\d{6}-?\s?\d{5}$
#일치: 4234 1234 1234 1234 | 5434123412341234 | 3712 123456 12345
#불일치: 1234123412341234 | 1111111 | 987654321
Amex, Visa, MasterCard 에 해당하는 카드
^((4\d{3})|(5[1-5]\d{2}))(-?|\040?)(\d{4}(-?|\040?)){3}|^(3[4,7]\d{2})(-?|\040?)\d{6}(-?|\040?)\d{5}
#일치: 3711-078176-01234 | 4123 5123 6123 7123 | 5123412361237123
#불일치: 3711-4123-5123-6112
Visa, MasterCard, Discover, Amex 에 해당하는 카드
^((4\d{3})|(5[1-5]\d{2})|(6011))-?\d{4}-?\d{4}-?\d{4}|3[4,7]\d{13}$
#일치: 6011-1111-1111-1111 | 5423-1111-1111-1111 | 341111111111111
#불일치: 4111-111-111-111 | 3411-1111-1111-111 | Visa
Amex, Visa, Master, Dinnerclub, JCB, enRoute, Discover 에 해당하는 카드
(4\d{12})|(((4|3)\d{3})|(5[1-5]\d{2})|(6011))(-?|\040?)(\d{4}(-?|\040?)){3}|((3[4,7]\d{2})((-?|\040?)\d{6}(-?|\040?)\d{5}))|(3[4,7]\d{2})((-?|\040?)\d{4}(-?|\040?)\d{4}(-?|\040?)\d{3})|(3[4,7]\d{1})(-?|\040?)(\d{4}(-?|\040?)){3}|(30[0-5]\d{1}|(36|38)\d(2))((-?|\040?)\d{4}(-?|\040?)\d{4}(-?|\040?)\d{2})|((2131|1800)|(2014|2149))((-?|\040?)\d{4}(-?|\040?)\d{4}(-?|\040?)\d{3})
#일치: 5121-1234-1234-1234
#불일치: 111 111 111
^[3|4|5|6]([0-9]{15}$|[0-9]{12}$|[0-9]{13}$|[0-9]{14}$)
#일치: 370000000000002
#불일치: 270000000000002
Visa 및 MasterCard 에 해당하는 카드
^(5[1-5]\d{2})\d{12}|(4\d{3})(\d{12}|\d{9})$
#일치: 5555555555554444 | 5105105105105100 | 4012888888881881 | 4222222222222
#불일치: 123412341234 | 4222-2222-2222-2222 | visa | 41231234123412345
Visa, Amex, Discover 및 Mastercard 에 해당하는 카드
^((4(\d{12}|\d{15}))|(5\d{15})|(6011\d{12})|(3(4|7)\d{13}))$
#일치: 4111111111111 | 4111111111111111 | 5111111111111111 | 6011111111111111 | 341111111111111 | 371111111111111
#불일치: 411111111111 | 51111111111111111 | 6111111111111111 | 321111111111111 | 381111111111111
identity 카드
^((11|12|13|14|15|21|22|23|31|32|33|34|35|36|37|41|42|43|44|45|46|50|51|52|53|54|61|62|63|64|65|71|81|82|91)\d{4})((((((19|20)(([02468][048])|([13579][26]))0229))|((20[0-9][0-9])|(19[0-9][0-9]))((((0[1-9])|(1[0-2]))((0[1-9])|(1\d)|(2[0-8])))|((((0[1,3-9])|(1[0-2]))(29|30))|(((0[13578])|(1[02]))31))))((\d{3}(x|X))|(\d{4})))|((((([02468][048])|([13579][26]))0229)|(\d{2}((((0[1-9])|(1[0-2]))((0[1-9])|(1\d)|(2[0-8])))|(((0[1,3-9])|(1[0-2]))(29|30))|(((0[13578])|(1[02]))31))))\d{3}))$
#일치: 11111119710228332x,151111760229313
#불일치: 151111760230313
UnionPay 카드
62[0-9]{14,17}
# 일치: 6240008631401148
# 불일치: 624000831401148
신용카드 만료 날짜 검증
신용 카드 만료 날짜를 확인하기 위해 MM/YY 형식을 검증합니다.^((0[1-9])|(1[0-2]))\/(\d{2})$
#일치: 11/03 | 01/04
#불일치: 13/03 | 10/2003
출처: www.regexlib.com
0 댓글