index.js 45 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633
  1. //test url : https://ccdcapi.alipay.com/validateAndCacheCardInfo.json?cardNo=6222005865412565805&cardBinCheck=true
  2. //cardType:DC->储蓄卡,CC->信用卡
  3. (function() {
  4. var root = this;
  5. var cardTypeMap = {
  6. DC: "储蓄卡",
  7. CC: "信用卡",
  8. SCC: "准贷记卡",
  9. PC: "预付费卡"
  10. };
  11. function isFunction(fn) {
  12. return Object.prototype.toString.call(fn) === '[object Function]';
  13. }
  14. function extend(target, source) {
  15. var result = {};
  16. var key;
  17. target = target || {};
  18. source = source || {};
  19. for (key in target) {
  20. if (target.hasOwnProperty(key)) {
  21. result[key] = target[key];
  22. }
  23. }
  24. for (key in source) {
  25. if (source.hasOwnProperty(key)) {
  26. result[key] = source[key];
  27. }
  28. }
  29. return result;
  30. }
  31. function getCardTypeName(cardType) {
  32. if (cardTypeMap[cardType]) {
  33. return cardTypeMap[cardType]
  34. }
  35. return undefined;
  36. }
  37. var bankcardList = [{
  38. bankName: "中国邮政储蓄银行",
  39. bankCode: "PSBC",
  40. patterns: [{
  41. reg: /^(621096|621098|622150|622151|622181|622188|622199|955100|621095|620062|621285|621798|621799|621797|620529|621622|621599|621674|623218|623219)\d{13}$/g,
  42. cardType: "DC"
  43. }, {
  44. reg: /^(62215049|62215050|62215051|62218850|62218851|62218849)\d{11}$/g,
  45. cardType: "DC"
  46. }, {
  47. reg: /^(622812|622810|622811|628310|625919)\d{10}$/g,
  48. cardType: "CC"
  49. }]
  50. }, {
  51. bankName: "中国工商银行",
  52. bankCode: "ICBC",
  53. patterns: [{
  54. reg: /^(620200|620302|620402|620403|620404|620406|620407|620409|620410|620411|620412|620502|620503|620405|620408|620512|620602|620604|620607|620611|620612|620704|620706|620707|620708|620709|620710|620609|620712|620713|620714|620802|620711|620904|620905|621001|620902|621103|621105|621106|621107|621102|621203|621204|621205|621206|621207|621208|621209|621210|621302|621303|621202|621305|621306|621307|621309|621311|621313|621211|621315|621304|621402|621404|621405|621406|621407|621408|621409|621410|621502|621317|621511|621602|621603|621604|621605|621608|621609|621610|621611|621612|621613|621614|621615|621616|621617|621607|621606|621804|621807|621813|621814|621817|621901|621904|621905|621906|621907|621908|621909|621910|621911|621912|621913|621915|622002|621903|622004|622005|622006|622007|622008|622010|622011|622012|621914|622015|622016|622003|622018|622019|622020|622102|622103|622104|622105|622013|622111|622114|622017|622110|622303|622304|622305|622306|622307|622308|622309|622314|622315|622317|622302|622402|622403|622404|622313|622504|622505|622509|622513|622517|622502|622604|622605|622606|622510|622703|622715|622806|622902|622903|622706|623002|623006|623008|623011|623012|622904|623015|623100|623202|623301|623400|623500|623602|623803|623901|623014|624100|624200|624301|624402|623700|624000)\d{12}$/g,
  55. cardType: "DC"
  56. }, {
  57. reg: /^(622200|622202|622203|622208|621225|620058|621281|900000|621558|621559|621722|621723|620086|621226|621618|620516|621227|621288|621721|900010|623062|621670|621720|621379|621240|621724|621762|621414|621375|622926|622927|622928|622929|622930|622931|621733|621732|621372|621369|621763)\d{13}$/g,
  58. cardType: "DC"
  59. }, {
  60. reg: /^(402791|427028|427038|548259|621376|621423|621428|621434|621761|621749|621300|621378|622944|622949|621371|621730|621734|621433|621370|621764|621464|621765|621750|621377|621367|621374|621731|621781)\d{10}$/g,
  61. cardType: "DC"
  62. }, {
  63. reg: /^(9558)\d{15}$/g,
  64. cardType: "DC"
  65. }, {
  66. reg: /^(370246|370248|370249|370247|370267|374738|374739)\d{9}$/g,
  67. cardType: "CC"
  68. }, {
  69. reg: /^(427010|427018|427019|427020|427029|427030|427039|438125|438126|451804|451810|451811|458071|489734|489735|489736|510529|427062|524091|427064|530970|530990|558360|524047|525498|622230|622231|622232|622233|622234|622235|622237|622239|622240|622245|622238|451804|451810|451811|458071|628288|628286|622206|526836|513685|543098|458441|622246|544210|548943|356879|356880|356881|356882|528856|625330|625331|625332|622236|524374|550213|625929|625927|625939|625987|625930|625114|622159|625021|625022|625932|622889|625900|625915|625916|622171|625931|625113|625928|625914|625986|625925|625921|625926|625942|622158|625917|625922|625934|625933|625920|625924|625017|625018|625019)\d{10}$/g,
  70. cardType: "CC"
  71. }, {
  72. reg: /^(45806|53098|45806|53098)\d{11}$/g,
  73. cardType: "CC"
  74. }, {
  75. reg: /^(622210|622211|622212|622213|622214|622220|622223|622225|622229|622215|622224)\d{10}$/g,
  76. cardType: "SCC"
  77. }, {
  78. reg: /^(620054|620142|620184|620030|620050|620143|620149|620124|620183|620094|620186|620148|620185)\d{10}$/g,
  79. cardType: "PC"
  80. }, {
  81. reg: /^(620114|620187|620046)\d{13}$/g,
  82. cardType: "PC"
  83. }]
  84. }, {
  85. bankName: "中国农业银行",
  86. bankCode: "ABC",
  87. patterns: [{
  88. reg: /^(622841|622824|622826|622848|620059|621282|622828|622823|621336|621619|622821|622822|622825|622827|622845|622849|623018|623206|621671|622840|622843|622844|622846|622847|620501)\d{13}$/g,
  89. cardType: "DC"
  90. }, {
  91. reg: /^(95595|95596|95597|95598|95599)\d{14}$/g,
  92. cardType: "DC"
  93. }, {
  94. reg: /^(103)\d{16}$/g,
  95. cardType: "DC"
  96. }, {
  97. reg: /^(403361|404117|404118|404119|404120|404121|463758|519412|519413|520082|520083|552599|558730|514027|622836|622837|628268|625996|625998|625997|622838|625336|625826|625827|544243|548478|628269)\d{10}$/g,
  98. cardType: "CC"
  99. }, {
  100. reg: /^(622820|622830)\d{10}$/g,
  101. cardType: "SCC"
  102. }]
  103. }, {
  104. bankName: "中国银行",
  105. bankCode: "BOC",
  106. patterns: [{
  107. reg: /^(621660|621661|621662|621663|621665|621667|621668|621669|621666|456351|601382|621256|621212|621283|620061|621725|621330|621331|621332|621333|621297|621568|621569|621672|623208|621620|621756|621757|621758|621759|621785|621786|621787|621788|621789|621790|622273|622274|622771|622772|622770|621741|621041)\d{13}$/g,
  108. cardType: "DC"
  109. }, {
  110. reg: /^(621293|621294|621342|621343|621364|621394|621648|621248|621215|621249|621231|621638|621334|621395|623040|622348)\d{10}$/g,
  111. cardType: "DC"
  112. }, {
  113. reg: /^(625908|625910|625909|356833|356835|409665|409666|409668|409669|409670|409671|409672|512315|512316|512411|512412|514957|409667|438088|552742|553131|514958|622760|628388|518377|622788|628313|628312|622750|622751|625145|622479|622480|622789|625140|622346|622347)\d{10}$/g,
  114. cardType: "CC"
  115. }, {
  116. reg: /^(518378|518379|518474|518475|518476|524865|525745|525746|547766|558868|622752|622753|622755|524864|622757|622758|622759|622761|622762|622763|622756|622754|622764|622765|558869|625905|625906|625907|625333)\d{10}$/g,
  117. cardType: "SCC"
  118. }, {
  119. reg: /^(53591|49102|377677)\d{11}$/g,
  120. cardType: "SCC"
  121. }, {
  122. reg: /^(620514|620025|620026|620210|620211|620019|620035|620202|620203|620048|620515|920000)\d{10}$/g,
  123. cardType: "PC"
  124. }, {
  125. reg: /^(620040|620531|620513|921000|620038)\d{13}$/g,
  126. cardType: "PC"
  127. }]
  128. }, {
  129. bankName: "中国建设银行",
  130. bankCode: "CCB",
  131. patterns: [{
  132. reg: /^(621284|436742|589970|620060|621081|621467|621598|621621|621700|622280|622700|623211|623668)\d{13}$/g,
  133. cardType: "DC"
  134. }, {
  135. reg: /^(421349|434061|434062|524094|526410|552245|621080|621082|621466|621488|621499|622966|622988|622382|621487|621083|621084|620107)\d{10}$/g,
  136. cardType: "DC"
  137. }, {
  138. reg: /^(436742193|622280193)\d{10}$/g,
  139. cardType: "DC"
  140. }, {
  141. reg: /^(553242)\d{12}$/g,
  142. cardType: "CC"
  143. }, {
  144. reg: /^(625362|625363|628316|628317|356896|356899|356895|436718|436738|436745|436748|489592|531693|532450|532458|544887|552801|557080|558895|559051|622166|622168|622708|625964|625965|625966|628266|628366|622381|622675|622676|622677)\d{10}$/g,
  145. cardType: "CC"
  146. }, {
  147. reg: /^(5453242|5491031|5544033)\d{11}$/g,
  148. cardType: "CC"
  149. }, {
  150. reg: /^(622725|622728|436728|453242|491031|544033|622707|625955|625956)\d{10}$/g,
  151. cardType: "SCC"
  152. }, {
  153. reg: /^(53242|53243)\d{11}$/g,
  154. cardType: "SCC"
  155. }]
  156. }, {
  157. bankName: "中国交通银行",
  158. bankCode: "COMM",
  159. patterns: [{
  160. reg: /^(622261|622260|622262|621002|621069|621436|621335)\d{13}$/g,
  161. cardType: "DC"
  162. }, {
  163. reg: /^(620013)\d{10}$/g,
  164. cardType: "DC"
  165. }, {
  166. reg: /^(405512|601428|405512|601428|622258|622259|405512|601428)\d{11}$/g,
  167. cardType: "DC"
  168. }, {
  169. reg: /^(49104|53783)\d{11}$/g,
  170. cardType: "CC"
  171. }, {
  172. reg: /^(434910|458123|458124|520169|522964|552853|622250|622251|521899|622253|622656|628216|622252|955590|955591|955592|955593|628218|625028|625029)\d{10}$/g,
  173. cardType: "CC"
  174. }, {
  175. reg: /^(622254|622255|622256|622257|622284)\d{10}$/g,
  176. cardType: "SCC"
  177. }, {
  178. reg: /^(620021|620521)\d{13}$/g,
  179. cardType: "PC"
  180. }]
  181. }, {
  182. bankName: "招商银行",
  183. bankCode: "CMB",
  184. patterns: [{
  185. reg: /^(402658|410062|468203|512425|524011|622580|622588|622598|622609|95555|621286|621483|621485|621486|621299)\d{10}$/g,
  186. cardType: "DC"
  187. }, {
  188. reg: /^(690755)\d{9}$/g,
  189. cardType: "DC"
  190. }, {
  191. reg: /^(690755)\d{12}$/g,
  192. cardType: "DC"
  193. }, {
  194. reg: /^(356885|356886|356887|356888|356890|439188|439227|479228|479229|521302|356889|545620|545621|545947|545948|552534|552587|622575|622576|622577|622578|622579|545619|622581|622582|545623|628290|439225|518710|518718|628362|439226|628262|625802|625803)\d{10}$/g,
  195. cardType: "CC"
  196. }, {
  197. reg: /^(370285|370286|370287|370289)\d{9}$/g,
  198. cardType: "CC"
  199. }, {
  200. reg: /^(620520)\d{13}$/g,
  201. cardType: "PC"
  202. }]
  203. }, {
  204. bankName: "中国民生银行",
  205. bankCode: "CMBC",
  206. patterns: [{
  207. reg: /^(622615|622616|622618|622622|622617|622619|415599|421393|421865|427570|427571|472067|472068|622620)\d{10}$/g,
  208. cardType: "DC"
  209. }, {
  210. reg: /^(545392|545393|545431|545447|356859|356857|407405|421869|421870|421871|512466|356856|528948|552288|622600|622601|622602|517636|622621|628258|556610|622603|464580|464581|523952|545217|553161|356858|622623|625912|625913|625911)\d{10}$/g,
  211. cardType: "CC"
  212. }, {
  213. reg: /^(377155|377152|377153|377158)\d{9}$/g,
  214. cardType: "CC"
  215. }]
  216. }, {
  217. bankName: "中国光大银行",
  218. bankCode: "CEB",
  219. patterns: [{
  220. reg: /^(303)\d{13}$/g,
  221. cardType: "DC"
  222. }, {
  223. reg: /^(90030)\d{11}$/g,
  224. cardType: "DC"
  225. }, {
  226. reg: /^(620535)\d{13}$/g,
  227. cardType: "DC"
  228. }, {
  229. reg: /^(620085|622660|622662|622663|622664|622665|622666|622667|622669|622670|622671|622672|622668|622661|622674|622673|620518|621489|621492)\d{10}$/g,
  230. cardType: "DC"
  231. }, {
  232. reg: /^(356837|356838|486497|622657|622685|622659|622687|625978|625980|625981|625979|356839|356840|406252|406254|425862|481699|524090|543159|622161|622570|622650|622655|622658|625975|625977|628201|628202|625339|625976)\d{10}$/g,
  233. cardType: "CC"
  234. }]
  235. }, {
  236. bankName: "中信银行",
  237. bankCode: "CITIC",
  238. patterns: [{
  239. reg: /^(433670|433680|442729|442730|620082|622690|622691|622692|622696|622698|622998|622999|433671|968807|968808|968809|621771|621767|621768|621770|621772|621773|622453|622456)\d{10}$/g,
  240. cardType: "DC"
  241. }, {
  242. reg: /^(622459)\d{11}$/g,
  243. cardType: "DC"
  244. }, {
  245. reg: /^(376968|376969|376966)\d{9}$/g,
  246. cardType: "CC"
  247. }, {
  248. reg: /^(400360|403391|403392|404158|404159|404171|404172|404173|404174|404157|433667|433668|433669|514906|403393|520108|433666|558916|622678|622679|622680|622688|622689|628206|556617|628209|518212|628208|356390|356391|356392|622916|622918|622919)\d{10}$/g,
  249. cardType: "CC"
  250. }]
  251. }, {
  252. bankName: "华夏银行",
  253. bankCode: "HXBANK",
  254. patterns: [{
  255. reg: /^(622630|622631|622632|622633|999999|621222|623020|623021|623022|623023)\d{10}$/g,
  256. cardType: "DC"
  257. }, {
  258. reg: /^(523959|528709|539867|539868|622637|622638|628318|528708|622636|625967|625968|625969)\d{10}$/g,
  259. cardType: "CC"
  260. }]
  261. }, {
  262. bankName: "深发/平安银行",
  263. bankCode: "SPABANK",
  264. patterns: [{
  265. reg: /^(621626|623058)\d{13}$/g,
  266. cardType: "DC"
  267. }, {
  268. reg: /^(602907|622986|622989|622298|627069|627068|627066|627067|412963|415752|415753|622535|622536|622538|622539|998800|412962|622983)\d{10}$/g,
  269. cardType: "DC"
  270. }, {
  271. reg: /^(531659|622157|528020|622155|622156|526855|356869|356868|625360|625361|628296|435744|435745|483536|622525|622526|998801|998802)\d{10}$/g,
  272. cardType: "CC"
  273. }, {
  274. reg: /^(620010)\d{10}$/g,
  275. cardType: "PC"
  276. }]
  277. }, {
  278. bankName: "兴业银行",
  279. bankCode: "CIB",
  280. patterns: [{
  281. reg: /^(438589)\d{12}$/g,
  282. cardType: "DC"
  283. }, {
  284. reg: /^(90592)\d{11}$/g,
  285. cardType: "DC"
  286. }, {
  287. reg: /^(966666|622909|438588|622908)\d{12}$/g,
  288. cardType: "DC"
  289. }, {
  290. reg: /^(461982|486493|486494|486861|523036|451289|527414|528057|622901|622902|622922|628212|451290|524070|625084|625085|625086|625087|548738|549633|552398|625082|625083|625960|625961|625962|625963)\d{10}$/g,
  291. cardType: "CC"
  292. }, {
  293. reg: /^(620010)\d{10}$/g,
  294. cardType: "PC"
  295. }]
  296. }, {
  297. bankName: "上海银行",
  298. bankCode: "SHBANK",
  299. patterns: [{
  300. reg: /^(621050|622172|622985|622987|620522|622267|622278|622279|622468|622892|940021)\d{12}$/g,
  301. cardType: "DC"
  302. }, {
  303. reg: /^(438600)\d{10}$/g,
  304. cardType: "DC"
  305. }, {
  306. reg: /^(356827|356828|356830|402673|402674|486466|519498|520131|524031|548838|622148|622149|622268|356829|622300|628230|622269|625099|625953)\d{10}$/g,
  307. cardType: "CC"
  308. }]
  309. }, {
  310. bankName: "浦东发展银行",
  311. bankCode: "SPDB",
  312. patterns: [{
  313. reg: /^(622516|622517|622518|622521|622522|622523|984301|984303|621352|621793|621795|621796|621351|621390|621792|621791)\d{10}$/g,
  314. cardType: "DC"
  315. }, {
  316. reg: /^(84301|84336|84373|84385|84390|87000|87010|87030|87040|84380|84361|87050|84342)\d{11}$/g,
  317. cardType: "DC"
  318. }, {
  319. reg: /^(356851|356852|404738|404739|456418|498451|515672|356850|517650|525998|622177|622277|628222|622500|628221|622176|622276|622228|625957|625958|625993|625831)\d{10}$/g,
  320. cardType: "CC"
  321. }, {
  322. reg: /^(622520|622519)\d{10}$/g,
  323. cardType: "SCC"
  324. }, {
  325. reg: /^(620530)\d{13}$/g,
  326. cardType: "PC"
  327. }]
  328. }, {
  329. bankName: "广发银行",
  330. bankCode: "GDB",
  331. patterns: [{
  332. reg: /^(622516|622517|622518|622521|622522|622523|984301|984303|621352|621793|621795|621796|621351|621390|621792|621791)\d{10}$/g,
  333. cardType: "DC"
  334. }, {
  335. reg: /^(622568|6858001|6858009|621462)\d{13}$/g,
  336. cardType: "DC"
  337. }, {
  338. reg: /^(9111)\d{15}$/g,
  339. cardType: "DC"
  340. }, {
  341. reg: /^(406365|406366|428911|436768|436769|436770|487013|491032|491033|491034|491035|491036|491037|491038|436771|518364|520152|520382|541709|541710|548844|552794|493427|622555|622556|622557|622558|622559|622560|528931|558894|625072|625071|628260|628259|625805|625806|625807|625808|625809|625810)\d{10}$/g,
  342. cardType: "CC"
  343. }, {
  344. reg: /^(685800|6858000)\d{13}$/g,
  345. cardType: "CC"
  346. }]
  347. }, {
  348. bankName: "渤海银行",
  349. bankCode: "BOHAIB",
  350. patterns: [{
  351. reg: /^(621268|622684|622884|621453)\d{10}$/g,
  352. cardType: "DC"
  353. }]
  354. }, {
  355. bankName: "广州银行",
  356. bankCode: "GCB",
  357. patterns: [{
  358. reg: /^(603445|622467|940016|621463)\d{13}$/g,
  359. cardType: "DC"
  360. }]
  361. }, {
  362. bankName: "金华银行",
  363. bankCode: "JHBANK",
  364. patterns: [{
  365. reg: /^(622449|940051)\d{10}$/g,
  366. cardType: "DC"
  367. }, {
  368. reg: /^(622450|628204)\d{10}$/g,
  369. cardType: "CC"
  370. }]
  371. }, {
  372. bankName: "温州银行",
  373. bankCode: "WZCB",
  374. patterns: [{
  375. reg: /^(621977)\d{10}$/g,
  376. cardType: "DC"
  377. }, {
  378. reg: /^(622868|622899|628255)\d{10}$/g,
  379. cardType: "CC"
  380. }]
  381. }, {
  382. bankName: "徽商银行",
  383. bankCode: "HSBANK",
  384. patterns: [{
  385. reg: /^(622877|622879|621775|623203)\d{13}$/g,
  386. cardType: "DC"
  387. }, {
  388. reg: /^(603601|622137|622327|622340|622366)\d{11}$/g,
  389. cardType: "DC"
  390. }, {
  391. reg: /^(628251|622651|625828)\d{10}$/g,
  392. cardType: "CC"
  393. }]
  394. }, {
  395. bankName: "江苏银行",
  396. bankCode: "JSBANK",
  397. patterns: [{
  398. reg: /^(621076|622173|622131|621579|622876)\d{13}$/g,
  399. cardType: "DC"
  400. }, {
  401. reg: /^(504923|622422|622447|940076)\d{10}$/g,
  402. cardType: "DC"
  403. }, {
  404. reg: /^(628210|622283|625902)\d{10}$/g,
  405. cardType: "CC"
  406. }]
  407. }, {
  408. bankName: "南京银行",
  409. bankCode: "NJCB",
  410. patterns: [{
  411. reg: /^(621777|622305|621259)\d{10}$/g,
  412. cardType: "DC"
  413. }, {
  414. reg: /^(622303|628242|622595|622596)\d{10}$/g,
  415. cardType: "CC"
  416. }]
  417. }, {
  418. bankName: "宁波银行",
  419. bankCode: "NBBANK",
  420. patterns: [{
  421. reg: /^(621279|622281|622316|940022)\d{10}$/g,
  422. cardType: "DC"
  423. }, {
  424. reg: /^(621418)\d{13}$/g,
  425. cardType: "DC"
  426. }, {
  427. reg: /^(625903|622778|628207|512431|520194|622282|622318)\d{10}$/g,
  428. cardType: "CC"
  429. }]
  430. }, {
  431. bankName: "北京银行",
  432. bankCode: "BJBANK",
  433. patterns: [{
  434. reg: /^(623111|421317|422161|602969|422160|621030|621420|621468)\d{10}$/g,
  435. cardType: "DC"
  436. }, {
  437. reg: /^(522001|622163|622853|628203|622851|622852)\d{10}$/g,
  438. cardType: "CC"
  439. }]
  440. }, {
  441. bankName: "北京农村商业银行",
  442. bankCode: "BJRCB",
  443. patterns: [{
  444. reg: /^(620088|621068|622138|621066|621560)\d{13}$/g,
  445. cardType: "DC"
  446. }, {
  447. reg: /^(625526|625186|628336)\d{10}$/g,
  448. cardType: "CC"
  449. }]
  450. }, {
  451. bankName: "汇丰银行",
  452. bankCode: "HSBC",
  453. patterns: [{
  454. reg: /^(622946)\d{10}$/g,
  455. cardType: "DC"
  456. }, {
  457. reg: /^(622406|621442)\d{11}$/g,
  458. cardType: "DC"
  459. }, {
  460. reg: /^(622407|621443)\d{13}$/g,
  461. cardType: "DC"
  462. }, {
  463. reg: /^(622360|622361|625034|625096|625098)\d{10}$/g,
  464. cardType: "CC"
  465. }]
  466. }, {
  467. bankName: "渣打银行",
  468. bankCode: "SCB",
  469. patterns: [{
  470. reg: /^(622948|621740|622942|622994)\d{10}$/g,
  471. cardType: "DC"
  472. }, {
  473. reg: /^(622482|622483|622484)\d{10}$/g,
  474. cardType: "CC"
  475. }]
  476. }, {
  477. bankName: "花旗银行",
  478. bankCode: "CITI",
  479. patterns: [{
  480. reg: /^(621062|621063)\d{10}$/g,
  481. cardType: "DC"
  482. }, {
  483. reg: /^(625076|625077|625074|625075|622371|625091)\d{10}$/g,
  484. cardType: "CC"
  485. }]
  486. }, {
  487. bankName: "东亚银行",
  488. bankCode: "HKBEA",
  489. patterns: [{
  490. reg: /^(622933|622938|623031|622943|621411)\d{13}$/g,
  491. cardType: "DC"
  492. }, {
  493. reg: /^(622372|622471|622472|622265|622266|625972|625973)\d{10}$/g,
  494. cardType: "CC"
  495. }, {
  496. reg: /^(622365)\d{11}$/g,
  497. cardType: "CC"
  498. }]
  499. }, {
  500. bankName: "广东华兴银行",
  501. bankCode: "GHB",
  502. patterns: [{
  503. reg: /^(621469|621625)\d{13}$/g,
  504. cardType: "DC"
  505. }]
  506. }, {
  507. bankName: "深圳农村商业银行",
  508. bankCode: "SRCB",
  509. patterns: [{
  510. reg: /^(622128|622129|623035)\d{10}$/g,
  511. cardType: "DC"
  512. }]
  513. }, {
  514. bankName: "广州农村商业银行股份有限公司",
  515. bankCode: "GZRCU",
  516. patterns: [{
  517. reg: /^(909810|940035|621522|622439)\d{12}$/g,
  518. cardType: "DC"
  519. }]
  520. }, {
  521. bankName: "东莞农村商业银行",
  522. bankCode: "DRCBCL",
  523. patterns: [{
  524. reg: /^(622328|940062|623038)\d{13}$/g,
  525. cardType: "DC"
  526. }, {
  527. reg: /^(625288|625888)\d{10}$/g,
  528. cardType: "CC"
  529. }]
  530. }, {
  531. bankName: "东莞市商业银行",
  532. bankCode: "BOD",
  533. patterns: [{
  534. reg: /^(622333|940050)\d{10}$/g,
  535. cardType: "DC"
  536. }, {
  537. reg: /^(621439|623010)\d{13}$/g,
  538. cardType: "DC"
  539. }, {
  540. reg: /^(622888)\d{10}$/g,
  541. cardType: "CC"
  542. }]
  543. }, {
  544. bankName: "广东省农村信用社联合社",
  545. bankCode: "GDRCC",
  546. patterns: [{
  547. reg: /^(622302)\d{10}$/g,
  548. cardType: "DC"
  549. }, {
  550. reg: /^(622477|622509|622510|622362|621018|621518)\d{13}$/g,
  551. cardType: "DC"
  552. }]
  553. }, {
  554. bankName: "大新银行",
  555. bankCode: "DSB",
  556. patterns: [{
  557. reg: /^(622297|621277)\d{10}$/g,
  558. cardType: "DC"
  559. }, {
  560. reg: /^(622375|622489)\d{11}$/g,
  561. cardType: "DC"
  562. }, {
  563. reg: /^(622293|622295|622296|622373|622451|622294|625940)\d{10}$/g,
  564. cardType: "CC"
  565. }]
  566. }, {
  567. bankName: "永亨银行",
  568. bankCode: "WHB",
  569. patterns: [{
  570. reg: /^(622871|622958|622963|622957|622861|622932|622862|621298)\d{10}$/g,
  571. cardType: "DC"
  572. }, {
  573. reg: /^(622798|625010|622775|622785)\d{10}$/g,
  574. cardType: "CC"
  575. }]
  576. }, {
  577. bankName: "星展银行香港有限公司",
  578. bankCode: "DBS",
  579. patterns: [{
  580. reg: /^(621016|621015)\d{13}$/g,
  581. cardType: "DC"
  582. }, {
  583. reg: /^(622487|622490|622491|622492)\d{10}$/g,
  584. cardType: "DC"
  585. }, {
  586. reg: /^(622487|622490|622491|622492|621744|621745|621746|621747)\d{11}$/g,
  587. cardType: "DC"
  588. }]
  589. }, {
  590. bankName: "恒丰银行",
  591. bankCode: "EGBANK",
  592. patterns: [{
  593. reg: /^(623078)\d{13}$/g,
  594. cardType: "DC"
  595. }, {
  596. reg: /^(622384|940034)\d{11}$/g,
  597. cardType: "DC"
  598. }]
  599. }, {
  600. bankName: "天津市商业银行",
  601. bankCode: "TCCB",
  602. patterns: [{
  603. reg: /^(940015|622331)\d{12}$/g,
  604. cardType: "DC"
  605. }, {
  606. reg: /^(6091201)\d{11}$/g,
  607. cardType: "DC"
  608. }, {
  609. reg: /^(622426|628205)\d{10}$/g,
  610. cardType: "CC"
  611. }]
  612. }, {
  613. bankName: "天津滨海德商村镇银行",
  614. bankCode: "BDCBANK",
  615. patterns: [{
  616. reg: /^(621091)\d{13}$/g,
  617. cardType: "DC"
  618. }]
  619. }, {
  620. bankName: "浙商银行",
  621. bankCode: "CZBANK",
  622. patterns: [{
  623. reg: /^(621019|622309|621019)\d{13}$/g,
  624. cardType: "DC"
  625. }, {
  626. reg: /^(6223091100|6223092900|6223093310|6223093320|6223093330|6223093370|6223093380|6223096510|6223097910)\d{9}$/g,
  627. cardType: "DC"
  628. }]
  629. }, {
  630. bankName: "南洋商业银行",
  631. bankCode: "NCB",
  632. patterns: [{
  633. reg: /^(621213|621289|621290|621291|621292|621042|621743)\d{13}$/g,
  634. cardType: "DC"
  635. }, {
  636. reg: /^(623041|622351)\d{10}$/g,
  637. cardType: "DC"
  638. }, {
  639. reg: /^(625046|625044|625058|622349|622350)\d{10}$/g,
  640. cardType: "CC"
  641. }, {
  642. reg: /^(620208|620209|625093|625095)\d{10}$/g,
  643. cardType: "PC"
  644. }]
  645. }, {
  646. bankName: "厦门银行",
  647. bankCode: "XMBANK",
  648. patterns: [{
  649. reg: /^(622393|940023)\d{10}$/g,
  650. cardType: "DC"
  651. }, {
  652. reg: /^(6886592)\d{11}$/g,
  653. cardType: "DC"
  654. }, {
  655. reg: /^(623019|621600)\d{13}$/g,
  656. cardType: "DC"
  657. }]
  658. }, {
  659. bankName: "福建海峡银行",
  660. bankCode: "FJHXBC",
  661. patterns: [{
  662. reg: /^(622388)\d{10}$/g,
  663. cardType: "DC"
  664. }, {
  665. reg: /^(621267|623063)\d{12}$/g,
  666. cardType: "DC"
  667. }, {
  668. reg: /^(620043)\d{12}$/g,
  669. cardType: "PC"
  670. }]
  671. }, {
  672. bankName: "吉林银行",
  673. bankCode: "JLBANK",
  674. patterns: [{
  675. reg: /^(622865|623131)\d{13}$/g,
  676. cardType: "DC"
  677. }, {
  678. reg: /^(940012)\d{10}$/g,
  679. cardType: "DC"
  680. }, {
  681. reg: /^(622178|622179|628358)\d{10}$/g,
  682. cardType: "CC"
  683. }]
  684. }, {
  685. bankName: "汉口银行",
  686. bankCode: "HKB",
  687. patterns: [{
  688. reg: /^(990027)\d{12}$/g,
  689. cardType: "DC"
  690. }, {
  691. reg: /^(622325|623105|623029)\d{10}$/g,
  692. cardType: "DC"
  693. }]
  694. }, {
  695. bankName: "盛京银行",
  696. bankCode: "SJBANK",
  697. patterns: [{
  698. reg: /^(566666)\d{12}$/g,
  699. cardType: "DC"
  700. }, {
  701. reg: /^(622455|940039)\d{13}$/g,
  702. cardType: "DC"
  703. }, {
  704. reg: /^(623108|623081)\d{10}$/g,
  705. cardType: "DC"
  706. }, {
  707. reg: /^(622466|628285)\d{10}$/g,
  708. cardType: "CC"
  709. }]
  710. }, {
  711. bankName: "大连银行",
  712. bankCode: "DLB",
  713. patterns: [{
  714. reg: /^(603708)\d{11}$/g,
  715. cardType: "DC"
  716. }, {
  717. reg: /^(622993|623069|623070|623172|623173)\d{13}$/g,
  718. cardType: "DC"
  719. }, {
  720. reg: /^(622383|622385|628299)\d{10}$/g,
  721. cardType: "CC"
  722. }]
  723. }, {
  724. bankName: "河北银行",
  725. bankCode: "BHB",
  726. patterns: [{
  727. reg: /^(622498|622499|623000|940046)\d{13}$/g,
  728. cardType: "DC"
  729. }, {
  730. reg: /^(622921|628321)\d{10}$/g,
  731. cardType: "CC"
  732. }]
  733. }, {
  734. bankName: "乌鲁木齐市商业银行",
  735. bankCode: "URMQCCB",
  736. patterns: [{
  737. reg: /^(621751|622143|940001|621754)\d{13}$/g,
  738. cardType: "DC"
  739. }, {
  740. reg: /^(622476|628278)\d{10}$/g,
  741. cardType: "CC"
  742. }]
  743. }, {
  744. bankName: "绍兴银行",
  745. bankCode: "SXCB",
  746. patterns: [{
  747. reg: /^(622486)\d{10}$/g,
  748. cardType: "DC"
  749. }, {
  750. reg: /^(603602|623026|623086)\d{12}$/g,
  751. cardType: "DC"
  752. }, {
  753. reg: /^(628291)\d{10}$/g,
  754. cardType: "CC"
  755. }]
  756. }, {
  757. bankName: "成都商业银行",
  758. bankCode: "CDCB",
  759. patterns: [{
  760. reg: /^(622152|622154|622996|622997|940027|622153|622135|621482|621532)\d{13}$/g,
  761. cardType: "DC"
  762. }]
  763. }, {
  764. bankName: "抚顺银行",
  765. bankCode: "FSCB",
  766. patterns: [{
  767. reg: /^(622442)\d{11}$/g,
  768. cardType: "DC"
  769. }, {
  770. reg: /^(940053)\d{12}$/g,
  771. cardType: "DC"
  772. }, {
  773. reg: /^(622442|623099)\d{13}$/g,
  774. cardType: "DC"
  775. }]
  776. }, {
  777. bankName: "郑州银行",
  778. bankCode: "ZZBANK",
  779. patterns: [{
  780. reg: /^(622421)\d{13}$/g,
  781. cardType: "DC"
  782. }, {
  783. reg: /^(940056)\d{11}$/g,
  784. cardType: "DC"
  785. }, {
  786. reg: /^(96828)\d{11}$/g,
  787. cardType: "DC"
  788. }]
  789. }, {
  790. bankName: "宁夏银行",
  791. bankCode: "NXBANK",
  792. patterns: [{
  793. reg: /^(621529|622429|621417|623089|623200)\d{13}$/g,
  794. cardType: "DC"
  795. }, {
  796. reg: /^(628214|625529|622428)\d{10}$/g,
  797. cardType: "CC"
  798. }]
  799. }, {
  800. bankName: "重庆银行",
  801. bankCode: "CQBANK",
  802. patterns: [{
  803. reg: /^(9896)\d{12}$/g,
  804. cardType: "DC"
  805. }, {
  806. reg: /^(622134|940018|623016)\d{10}$/g,
  807. cardType: "DC"
  808. }]
  809. }, {
  810. bankName: "哈尔滨银行",
  811. bankCode: "HRBANK",
  812. patterns: [{
  813. reg: /^(621577|622425)\d{13}$/g,
  814. cardType: "DC"
  815. }, {
  816. reg: /^(940049)\d{12}$/g,
  817. cardType: "DC"
  818. }, {
  819. reg: /^(622425)\d{11}$/g,
  820. cardType: "DC"
  821. }]
  822. }, {
  823. bankName: "兰州银行",
  824. bankCode: "LZYH",
  825. patterns: [{
  826. reg: /^(622139|940040|628263)\d{10}$/g,
  827. cardType: "DC"
  828. }, {
  829. reg: /^(621242|621538|621496)\d{13}$/g,
  830. cardType: "DC"
  831. }]
  832. }, {
  833. bankName: "青岛银行",
  834. bankCode: "QDCCB",
  835. patterns: [{
  836. reg: /^(621252|622146|940061|628239)\d{10}$/g,
  837. cardType: "DC"
  838. }, {
  839. reg: /^(621419|623170)\d{13}$/g,
  840. cardType: "DC"
  841. }]
  842. }, {
  843. bankName: "秦皇岛市商业银行",
  844. bankCode: "QHDCCB",
  845. patterns: [{
  846. reg: /^(62249802|94004602)\d{11}$/g,
  847. cardType: "DC"
  848. }, {
  849. reg: /^(621237|623003)\d{13}$/g,
  850. cardType: "DC"
  851. }]
  852. }, {
  853. bankName: "青海银行",
  854. bankCode: "BOQH",
  855. patterns: [{
  856. reg: /^(622310|940068)\d{11}$/g,
  857. cardType: "DC"
  858. }, {
  859. reg: /^(622817|628287|625959)\d{10}$/g,
  860. cardType: "CC"
  861. }, {
  862. reg: /^(62536601)\d{8}$/g,
  863. cardType: "CC"
  864. }]
  865. }, {
  866. bankName: "台州银行",
  867. bankCode: "TZCB",
  868. patterns: [{
  869. reg: /^(622427)\d{10}$/g,
  870. cardType: "DC"
  871. }, {
  872. reg: /^(940069)\d{11}$/g,
  873. cardType: "DC"
  874. }, {
  875. reg: /^(623039)\d{13}$/g,
  876. cardType: "DC"
  877. }, {
  878. reg: /^(622321|628273)\d{10}$/g,
  879. cardType: "CC"
  880. }, {
  881. reg: /^(625001)\d{10}$/g,
  882. cardType: "SCC"
  883. }]
  884. }, {
  885. bankName: "长沙银行",
  886. bankCode: "CSCB",
  887. patterns: [{
  888. reg: /^(694301)\d{12}$/g,
  889. cardType: "DC"
  890. }, {
  891. reg: /^(940071|622368|621446)\d{13}$/g,
  892. cardType: "DC"
  893. }, {
  894. reg: /^(625901|622898|622900|628281|628282|622806|628283)\d{10}$/g,
  895. cardType: "CC"
  896. }, {
  897. reg: /^(620519)\d{13}$/g,
  898. cardType: "PC"
  899. }]
  900. }, {
  901. bankName: "泉州银行",
  902. bankCode: "BOQZ",
  903. patterns: [{
  904. reg: /^(683970|940074)\d{12}$/g,
  905. cardType: "DC"
  906. }, {
  907. reg: /^(622370)\d{13}$/g,
  908. cardType: "DC"
  909. }, {
  910. reg: /^(621437)\d{13}$/g,
  911. cardType: "DC"
  912. }, {
  913. reg: /^(628319)\d{10}$/g,
  914. cardType: "CC"
  915. }]
  916. }, {
  917. bankName: "包商银行",
  918. bankCode: "BSB",
  919. patterns: [{
  920. reg: /^(622336|621760)\d{11}$/g,
  921. cardType: "DC"
  922. }, {
  923. reg: /^(622165)\d{10}$/g,
  924. cardType: "DC"
  925. }, {
  926. reg: /^(622315|625950|628295)\d{10}$/g,
  927. cardType: "CC"
  928. }]
  929. }, {
  930. bankName: "龙江银行",
  931. bankCode: "DAQINGB",
  932. patterns: [{
  933. reg: /^(621037|621097|621588|622977)\d{13}$/g,
  934. cardType: "DC"
  935. }, {
  936. reg: /^(62321601)\d{11}$/g,
  937. cardType: "DC"
  938. }, {
  939. reg: /^(622860)\d{10}$/g,
  940. cardType: "DC"
  941. }, {
  942. reg: /^(622644|628333)\d{10}$/g,
  943. cardType: "CC"
  944. }]
  945. }, {
  946. bankName: "上海农商银行",
  947. bankCode: "SHRCB",
  948. patterns: [{
  949. reg: /^(622478|940013|621495)\d{10}$/g,
  950. cardType: "DC"
  951. }, {
  952. reg: /^(625500)\d{10}$/g,
  953. cardType: "SCC"
  954. }, {
  955. reg: /^(622611|622722|628211|625989)\d{10}$/g,
  956. cardType: "CC"
  957. }]
  958. }, {
  959. bankName: "浙江泰隆商业银行",
  960. bankCode: "ZJQL",
  961. patterns: [{
  962. reg: /^(622717)\d{10}$/g,
  963. cardType: "SCC"
  964. }, {
  965. reg: /^(628275|622565|622287)\d{10}$/g,
  966. cardType: "CC"
  967. }]
  968. }, {
  969. bankName: "内蒙古银行",
  970. bankCode: "H3CB",
  971. patterns: [{
  972. reg: /^(622147|621633)\d{13}$/g,
  973. cardType: "DC"
  974. }, {
  975. reg: /^(628252)\d{10}$/g,
  976. cardType: "CC"
  977. }]
  978. }, {
  979. bankName: "广西北部湾银行",
  980. bankCode: "BGB",
  981. patterns: [{
  982. reg: /^(623001)\d{10}$/g,
  983. cardType: "DC"
  984. }, {
  985. reg: /^(628227)\d{10}$/g,
  986. cardType: "CC"
  987. }]
  988. }, {
  989. bankName: "桂林银行",
  990. bankCode: "GLBANK",
  991. patterns: [{
  992. reg: /^(621456)\d{11}$/g,
  993. cardType: "DC"
  994. }, {
  995. reg: /^(621562)\d{13}$/g,
  996. cardType: "DC"
  997. }, {
  998. reg: /^(628219)\d{10}$/g,
  999. cardType: "CC"
  1000. }]
  1001. }, {
  1002. bankName: "龙江银行",
  1003. bankCode: "DAQINGB",
  1004. patterns: [{
  1005. reg: /^(621037|621097|621588|622977)\d{13}$/g,
  1006. cardType: "DC"
  1007. }, {
  1008. reg: /^(62321601)\d{11}$/g,
  1009. cardType: "DC"
  1010. }, {
  1011. reg: /^(622475|622860)\d{10}$/g,
  1012. cardType: "DC"
  1013. }, {
  1014. reg: /^(625588)\d{10}$/g,
  1015. cardType: "SCC"
  1016. }, {
  1017. reg: /^(622270|628368|625090|622644|628333)\d{10}$/g,
  1018. cardType: "CC"
  1019. }]
  1020. }, {
  1021. bankName: "成都农村商业银行",
  1022. bankCode: "CDRCB",
  1023. patterns: [{
  1024. reg: /^(623088)\d{13}$/g,
  1025. cardType: "DC"
  1026. }, {
  1027. reg: /^(622829|628301|622808|628308)\d{10}$/g,
  1028. cardType: "CC"
  1029. }]
  1030. }, {
  1031. bankName: "福建省农村信用社联合社",
  1032. bankCode: "FJNX",
  1033. patterns: [{
  1034. reg: /^(622127|622184|621701|621251|621589|623036)\d{13}$/g,
  1035. cardType: "DC"
  1036. }, {
  1037. reg: /^(628232|622802|622290)\d{10}$/g,
  1038. cardType: "CC"
  1039. }]
  1040. }, {
  1041. bankName: "天津农村商业银行",
  1042. bankCode: "TRCB",
  1043. patterns: [{
  1044. reg: /^(622531|622329)\d{13}$/g,
  1045. cardType: "DC"
  1046. }, {
  1047. reg: /^(622829|628301)\d{10}$/g,
  1048. cardType: "CC"
  1049. }]
  1050. }, {
  1051. bankName: "江苏省农村信用社联合社",
  1052. bankCode: "JSRCU",
  1053. patterns: [{
  1054. reg: /^(621578|623066|622452|622324)\d{13}$/g,
  1055. cardType: "DC"
  1056. }, {
  1057. reg: /^(622815|622816|628226)\d{10}$/g,
  1058. cardType: "CC"
  1059. }]
  1060. }, {
  1061. bankName: "湖南农村信用社联合社",
  1062. bankCode: "SLH",
  1063. patterns: [{
  1064. reg: /^(622906|628386|625519|625506)\d{10}$/g,
  1065. cardType: "CC"
  1066. }]
  1067. }, {
  1068. bankName: "江西省农村信用社联合社",
  1069. bankCode: "JXNCX",
  1070. patterns: [{
  1071. reg: /^(621592)\d{10}$/g,
  1072. cardType: "DC"
  1073. }, {
  1074. reg: /^(628392)\d{10}$/g,
  1075. cardType: "CC"
  1076. }]
  1077. }, {
  1078. bankName: "商丘市商业银行",
  1079. bankCode: "SCBBANK",
  1080. patterns: [{
  1081. reg: /^(621748)\d{13}$/g,
  1082. cardType: "DC"
  1083. }, {
  1084. reg: /^(628271)\d{10}$/g,
  1085. cardType: "CC"
  1086. }]
  1087. }, {
  1088. bankName: "华融湘江银行",
  1089. bankCode: "HRXJB",
  1090. patterns: [{
  1091. reg: /^(621366|621388)\d{13}$/g,
  1092. cardType: "DC"
  1093. }, {
  1094. reg: /^(628328)\d{10}$/g,
  1095. cardType: "CC"
  1096. }]
  1097. }, {
  1098. bankName: "衡水市商业银行",
  1099. bankCode: "HSBK",
  1100. patterns: [{
  1101. reg: /^(621239|623068)\d{13}$/g,
  1102. cardType: "DC"
  1103. }]
  1104. }, {
  1105. bankName: "重庆南川石银村镇银行",
  1106. bankCode: "CQNCSYCZ",
  1107. patterns: [{
  1108. reg: /^(621653004)\d{10}$/g,
  1109. cardType: "DC"
  1110. }]
  1111. }, {
  1112. bankName: "湖南省农村信用社联合社",
  1113. bankCode: "HNRCC",
  1114. patterns: [{
  1115. reg: /^(622169|621519|621539|623090)\d{13}$/g,
  1116. cardType: "DC"
  1117. }]
  1118. }, {
  1119. bankName: "邢台银行",
  1120. bankCode: "XTB",
  1121. patterns: [{
  1122. reg: /^(621238|620528)\d{13}$/g,
  1123. cardType: "DC"
  1124. }]
  1125. }, {
  1126. bankName: "临汾市尧都区农村信用合作联社",
  1127. bankCode: "LPRDNCXYS",
  1128. patterns: [{
  1129. reg: /^(628382|625158)\d{10}$/g,
  1130. cardType: "CC"
  1131. }]
  1132. }, {
  1133. bankName: "东营银行",
  1134. bankCode: "DYCCB",
  1135. patterns: [{
  1136. reg: /^(621004)\d{12}$/g,
  1137. cardType: "DC"
  1138. }, {
  1139. reg: /^(628217)\d{10}$/g,
  1140. cardType: "CC"
  1141. }]
  1142. }, {
  1143. bankName: "上饶银行",
  1144. bankCode: "SRBANK",
  1145. patterns: [{
  1146. reg: /^(621416)\d{10}$/g,
  1147. cardType: "DC"
  1148. }, {
  1149. reg: /^(628217)\d{10}$/g,
  1150. cardType: "CC"
  1151. }]
  1152. }, {
  1153. bankName: "德州银行",
  1154. bankCode: "DZBANK",
  1155. patterns: [{
  1156. reg: /^(622937)\d{13}$/g,
  1157. cardType: "DC"
  1158. }, {
  1159. reg: /^(628397)\d{10}$/g,
  1160. cardType: "CC"
  1161. }]
  1162. }, {
  1163. bankName: "承德银行",
  1164. bankCode: "CDB",
  1165. patterns: [{
  1166. reg: /^(628229)\d{10}$/g,
  1167. cardType: "CC"
  1168. }]
  1169. }, {
  1170. bankName: "云南省农村信用社",
  1171. bankCode: "YNRCC",
  1172. patterns: [{
  1173. reg: /^(622469|628307)\d{10}$/g,
  1174. cardType: "CC"
  1175. }]
  1176. }, {
  1177. bankName: "柳州银行",
  1178. bankCode: "LZCCB",
  1179. patterns: [{
  1180. reg: /^(622292|622291|621412)\d{12}$/g,
  1181. cardType: "DC"
  1182. }, {
  1183. reg: /^(622880|622881)\d{10}$/g,
  1184. cardType: "DC"
  1185. }, {
  1186. reg: /^(62829)\d{10}$/g,
  1187. cardType: "CC"
  1188. }]
  1189. }, {
  1190. bankName: "威海市商业银行",
  1191. bankCode: "WHSYBANK",
  1192. patterns: [{
  1193. reg: /^(623102)\d{10}$/g,
  1194. cardType: "DC"
  1195. }, {
  1196. reg: /^(628234)\d{10}$/g,
  1197. cardType: "CC"
  1198. }]
  1199. }, {
  1200. bankName: "湖州银行",
  1201. bankCode: "HZBANK",
  1202. patterns: [{
  1203. reg: /^(628306)\d{10}$/g,
  1204. cardType: "CC"
  1205. }]
  1206. }, {
  1207. bankName: "潍坊银行",
  1208. bankCode: "BANKWF",
  1209. patterns: [{
  1210. reg: /^(622391|940072)\d{10}$/g,
  1211. cardType: "DC"
  1212. }, {
  1213. reg: /^(628391)\d{10}$/g,
  1214. cardType: "CC"
  1215. }]
  1216. }, {
  1217. bankName: "赣州银行",
  1218. bankCode: "GZB",
  1219. patterns: [{
  1220. reg: /^(622967|940073)\d{13}$/g,
  1221. cardType: "DC"
  1222. }, {
  1223. reg: /^(628233)\d{10}$/g,
  1224. cardType: "CC"
  1225. }]
  1226. }, {
  1227. bankName: "日照银行",
  1228. bankCode: "RZGWYBANK",
  1229. patterns: [{
  1230. reg: /^(628257)\d{10}$/g,
  1231. cardType: "CC"
  1232. }]
  1233. }, {
  1234. bankName: "南昌银行",
  1235. bankCode: "NCB",
  1236. patterns: [{
  1237. reg: /^(621269|622275)\d{10}$/g,
  1238. cardType: "DC"
  1239. }, {
  1240. reg: /^(940006)\d{11}$/g,
  1241. cardType: "DC"
  1242. }, {
  1243. reg: /^(628305)\d{11}$/g,
  1244. cardType: "CC"
  1245. }]
  1246. }, {
  1247. bankName: "贵阳银行",
  1248. bankCode: "GYCB",
  1249. patterns: [{
  1250. reg: /^(622133|621735)\d{13}$/g,
  1251. cardType: "DC"
  1252. }, {
  1253. reg: /^(888)\d{13}$/g,
  1254. cardType: "DC"
  1255. }, {
  1256. reg: /^(628213)\d{10}$/g,
  1257. cardType: "CC"
  1258. }]
  1259. }, {
  1260. bankName: "锦州银行",
  1261. bankCode: "BOJZ",
  1262. patterns: [{
  1263. reg: /^(622990|940003)\d{11}$/g,
  1264. cardType: "DC"
  1265. }, {
  1266. reg: /^(628261)\d{10}$/g,
  1267. cardType: "CC"
  1268. }]
  1269. }, {
  1270. bankName: "齐商银行",
  1271. bankCode: "QSBANK",
  1272. patterns: [{
  1273. reg: /^(622311|940057)\d{11}$/g,
  1274. cardType: "DC"
  1275. }, {
  1276. reg: /^(628311)\d{10}$/g,
  1277. cardType: "CC"
  1278. }]
  1279. }, {
  1280. bankName: "珠海华润银行",
  1281. bankCode: "RBOZ",
  1282. patterns: [{
  1283. reg: /^(622363|940048)\d{13}$/g,
  1284. cardType: "DC"
  1285. }, {
  1286. reg: /^(628270)\d{10}$/g,
  1287. cardType: "CC"
  1288. }]
  1289. }, {
  1290. bankName: "葫芦岛市商业银行",
  1291. bankCode: "HLDCCB",
  1292. patterns: [{
  1293. reg: /^(622398|940054)\d{10}$/g,
  1294. cardType: "DC"
  1295. }]
  1296. }, {
  1297. bankName: "宜昌市商业银行",
  1298. bankCode: "HBC",
  1299. patterns: [{
  1300. reg: /^(940055)\d{11}$/g,
  1301. cardType: "DC"
  1302. }, {
  1303. reg: /^(622397)\d{11}$/g,
  1304. cardType: "CC"
  1305. }]
  1306. }, {
  1307. bankName: "杭州银行",
  1308. bankCode: "HZCB",
  1309. patterns: [{
  1310. reg: /^(603367|622878|623061)\d{12}$/g,
  1311. cardType: "DC"
  1312. }, {
  1313. reg: /^(622397|622286|628236|625800)\d{11}$/g,
  1314. cardType: "CC"
  1315. }]
  1316. }, {
  1317. bankName: "苏州市商业银行",
  1318. bankCode: "JSBANK",
  1319. patterns: [{
  1320. reg: /^(603506)\d{13}$/g,
  1321. cardType: "DC"
  1322. }]
  1323. }, {
  1324. bankName: "辽阳银行",
  1325. bankCode: "LYCB",
  1326. patterns: [{
  1327. reg: /^(622399|940043)\d{11}$/g,
  1328. cardType: "DC"
  1329. }]
  1330. }, {
  1331. bankName: "洛阳银行",
  1332. bankCode: "LYB",
  1333. patterns: [{
  1334. reg: /^(622420|940041)\d{11}$/g,
  1335. cardType: "DC"
  1336. }]
  1337. }, {
  1338. bankName: "焦作市商业银行",
  1339. bankCode: "JZCBANK",
  1340. patterns: [{
  1341. reg: /^(622338)\d{13}$/g,
  1342. cardType: "DC"
  1343. }, {
  1344. reg: /^(940032)\d{10}$/g,
  1345. cardType: "DC"
  1346. }]
  1347. }, {
  1348. bankName: "镇江市商业银行",
  1349. bankCode: "ZJCCB",
  1350. patterns: [{
  1351. reg: /^(622394|940025)\d{10}$/g,
  1352. cardType: "DC"
  1353. }]
  1354. }, {
  1355. bankName: "法国兴业银行",
  1356. bankCode: "FGXYBANK",
  1357. patterns: [{
  1358. reg: /^(621245)\d{10}$/g,
  1359. cardType: "DC"
  1360. }]
  1361. }, {
  1362. bankName: "大华银行",
  1363. bankCode: "DYBANK",
  1364. patterns: [{
  1365. reg: /^(621328)\d{13}$/g,
  1366. cardType: "DC"
  1367. }]
  1368. }, {
  1369. bankName: "企业银行",
  1370. bankCode: "DIYEBANK",
  1371. patterns: [{
  1372. reg: /^(621651)\d{13}$/g,
  1373. cardType: "DC"
  1374. }]
  1375. }, {
  1376. bankName: "华侨银行",
  1377. bankCode: "HQBANK",
  1378. patterns: [{
  1379. reg: /^(621077)\d{10}$/g,
  1380. cardType: "DC"
  1381. }]
  1382. }, {
  1383. bankName: "恒生银行",
  1384. bankCode: "HSB",
  1385. patterns: [{
  1386. reg: /^(622409|621441)\d{13}$/g,
  1387. cardType: "DC"
  1388. }, {
  1389. reg: /^(622410|621440)\d{11}$/g,
  1390. cardType: "DC"
  1391. }, {
  1392. reg: /^(622950|622951)\d{10}$/g,
  1393. cardType: "DC"
  1394. }, {
  1395. reg: /^(625026|625024|622376|622378|622377|625092)\d{10}$/g,
  1396. cardType: "CC"
  1397. }]
  1398. }, {
  1399. bankName: "临沂商业银行",
  1400. bankCode: "LSB",
  1401. patterns: [{
  1402. reg: /^(622359|940066)\d{13}$/g,
  1403. cardType: "DC"
  1404. }]
  1405. }, {
  1406. bankName: "烟台商业银行",
  1407. bankCode: "YTCB",
  1408. patterns: [{
  1409. reg: /^(622886)\d{10}$/g,
  1410. cardType: "DC"
  1411. }]
  1412. }, {
  1413. bankName: "齐鲁银行",
  1414. bankCode: "QLB",
  1415. patterns: [{
  1416. reg: /^(940008|622379)\d{13}$/g,
  1417. cardType: "DC"
  1418. }, {
  1419. reg: /^(628379)\d{10}$/g,
  1420. cardType: "CC"
  1421. }]
  1422. }, {
  1423. bankName: "BC卡公司",
  1424. bankCode: "BCCC",
  1425. patterns: [{
  1426. reg: /^(620011|620027|620031|620039|620103|620106|620120|620123|620125|620220|620278|620812|621006|621011|621012|621020|621023|621025|621027|621031|620132|621039|621078|621220|621003)\d{10}$/g,
  1427. cardType: "DC"
  1428. }, {
  1429. reg: /^(625003|625011|625012|625020|625023|625025|625027|625031|621032|625039|625078|625079|625103|625106|625006|625112|625120|625123|625125|625127|625131|625032|625139|625178|625179|625220|625320|625111|625132|625244)\d{10}$/g,
  1430. cardType: "CC"
  1431. }]
  1432. }, {
  1433. bankName: "集友银行",
  1434. bankCode: "CYB",
  1435. patterns: [{
  1436. reg: /^(622355|623042)\d{10}$/g,
  1437. cardType: "DC"
  1438. }, {
  1439. reg: /^(621043|621742)\d{13}$/g,
  1440. cardType: "DC"
  1441. }, {
  1442. reg: /^(622352|622353|625048|625053|625060)\d{10}$/g,
  1443. cardType: "CC"
  1444. }, {
  1445. reg: /^(620206|620207)\d{10}$/g,
  1446. cardType: "PC"
  1447. }]
  1448. }, {
  1449. bankName: "大丰银行",
  1450. bankCode: "TFB",
  1451. patterns: [{
  1452. reg: /^(622547|622548|622546)\d{13}$/g,
  1453. cardType: "DC"
  1454. }, {
  1455. reg: /^(625198|625196|625147)\d{10}$/g,
  1456. cardType: "CC"
  1457. }, {
  1458. reg: /^(620072)\d{13}$/g,
  1459. cardType: "PC"
  1460. }, {
  1461. reg: /^(620204|620205)\d{10}$/g,
  1462. cardType: "PC"
  1463. }]
  1464. }, {
  1465. bankName: "AEON信贷财务亚洲有限公司",
  1466. bankCode: "AEON",
  1467. patterns: [{
  1468. reg: /^(621064|622941|622974)\d{10}$/g,
  1469. cardType: "DC"
  1470. }, {
  1471. reg: /^(622493)\d{10}$/g,
  1472. cardType: "CC"
  1473. }]
  1474. }, {
  1475. bankName: "澳门BDA",
  1476. bankCode: "MABDA",
  1477. patterns: [{
  1478. reg: /^(621274|621324)\d{13}$/g,
  1479. cardType: "DC"
  1480. }]
  1481. }, {
  1482. bankName: "浙江泰隆商业银行",
  1483. bankCode: "ZJTLCB",
  1484. patterns: [{
  1485. reg: /^(622287)\d{10}$/g,
  1486. cardType: "CC"
  1487. }, {
  1488. reg: /^(622717)\d{10}$/g,
  1489. cardType: "SCC"
  1490. }, {
  1491. reg: /^(621480)\d{13}$/g,
  1492. cardType: "DC"
  1493. }, {
  1494. reg: /^(622141)\d{10}$/g,
  1495. cardType: "DC"
  1496. }]
  1497. }]
  1498. function getBankNameByBankCode(bankcode) {
  1499. for (var i = 0, len = bankcardList.length; i < len; i++) {
  1500. var bankcard = bankcardList[i];
  1501. if (bankcode == bankcard.bankCode) {
  1502. return bankcard.bankName;
  1503. }
  1504. }
  1505. return "";
  1506. }
  1507. function _getBankInfoByCardNo(cardNo, cbf) {
  1508. for (var i = 0, len = bankcardList.length; i < len; i++) {
  1509. var bankcard = bankcardList[i];
  1510. var patterns = bankcard.patterns;
  1511. for (var j = 0, jLen = patterns.length; j < jLen; j++) {
  1512. var pattern = patterns[j];
  1513. if ((new RegExp(pattern.reg)).test(cardNo)) {
  1514. var info = extend(bankcard, pattern);
  1515. delete info.patterns;
  1516. delete info.reg;
  1517. info['cardTypeName'] = getCardTypeName(info['cardType']);
  1518. return cbf(null, info);
  1519. }
  1520. }
  1521. }
  1522. return cbf(null);
  1523. }
  1524. function _getBankInfoByCardNoAsync(cardNo, cbf) {
  1525. var errMsg = "";
  1526. _getBankInfoByCardNo(cardNo, function(err, info) {
  1527. if (!err && info) {
  1528. return cbf(null, info);
  1529. } else {
  1530. if (typeof module !== 'undefined' && module.exports) {
  1531. var https = require('https');
  1532. https.get("https://ccdcapi.alipay.com/validateAndCacheCardInfo.json?_input_charset=utf-8&cardNo=" + cardNo + "&cardBinCheck=true", function(res) {
  1533. if (res.statusCode == 200) {
  1534. var chunk = "";
  1535. res.on('data', function(d) {
  1536. chunk += d;
  1537. });
  1538. res.on('end', function() {
  1539. try {
  1540. var bankInfo = JSON.parse(chunk);
  1541. if (bankInfo.validated) {
  1542. var info = {};
  1543. info['bankName'] = getBankNameByBankCode(bankInfo.bank);
  1544. info['cardType'] = bankInfo.cardType;
  1545. info['bankCode'] = bankInfo.bank;
  1546. info['cardTypeName'] = getCardTypeName(bankInfo.cardType);
  1547. info['backName'] = info['bankName']; //向下兼容,修改字段错别字
  1548. cbf(null, info);
  1549. } else {
  1550. errMsg = cardNo + ":该银行卡不存在," + chunk;
  1551. cbf(errMsg);
  1552. }
  1553. } catch (e) {
  1554. errMsg = cardNo + ':获取alipay接口信息出错了,返回json格式不正确';
  1555. cbf(errMsg);
  1556. }
  1557. })
  1558. } else {
  1559. errMsg = cardNo + ':获取alipay接口信息出错了,statusCode,' + res.statusCode;
  1560. cbf(errMsg);
  1561. }
  1562. }).on('error', function(e) {
  1563. errMsg = cardNo + ':获取alipay接口信息出错了';
  1564. cbf(errMsg);
  1565. });
  1566. } else {
  1567. cbf(cardNo + ":该银行卡不存在");
  1568. }
  1569. }
  1570. });
  1571. }
  1572. function getBankBin(cardNo, cbf) {
  1573. var errMsg = '';
  1574. if (!isFunction(cbf)) {
  1575. cbf = function() {};
  1576. }
  1577. if (isNaN(cardNo)) {
  1578. cardNo = parseInt(cardNo);
  1579. if (isNaN(cardNo)) {
  1580. errMsg = cardNo + ':银行卡号必须是数字';
  1581. return cbf(errMsg)
  1582. }
  1583. }
  1584. if (cardNo.toString().length < 15 || cardNo.toString().length > 19) {
  1585. errMsg = cardNo + ':银行卡位数必须是15到19位';
  1586. return cbf(errMsg)
  1587. }
  1588. _getBankInfoByCardNoAsync(cardNo, function(err, bin) {
  1589. cbf(err, bin);
  1590. });
  1591. }
  1592. function promiseApi(cardNo, cbf) {
  1593. var Promise = require('bluebird');
  1594. return new Promise(function(resolve, reject) {
  1595. getBankBin(cardNo, function(err, data) {
  1596. if (err) {
  1597. return reject(err)
  1598. }
  1599. resolve(data)
  1600. })
  1601. }).asCallback(cbf)
  1602. }
  1603. if (typeof exports !== 'undefined') {
  1604. if (typeof module !== 'undefined' && module.exports) {
  1605. exports = module.exports = {
  1606. getBankBin: promiseApi
  1607. };
  1608. }
  1609. exports.getBankBin = promiseApi;
  1610. } else if (typeof define === 'function' && define.amd) {
  1611. define('bankInfo', [], function() {
  1612. return {
  1613. getBankBin: getBankBin
  1614. };
  1615. });
  1616. } else if (typeof define === 'function' && define.cmd) {
  1617. define(function() {
  1618. return {
  1619. getBankBin: getBankBin
  1620. };
  1621. })
  1622. } else {
  1623. root.getBankBin = getBankBin;
  1624. }
  1625. }.call(this));