欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java實現獲取銀行卡所屬銀行,驗證銀行卡號是否正確的方法詳解

 更新時間:2019年09月02日 09:48:47   作者:yqwang75457  
這篇文章主要介紹了Java實現獲取銀行卡所屬銀行,驗證銀行卡號是否正確的方法,結合實例形式詳細分析了java判斷銀行卡歸屬地及有效性的原理與相關實現技巧,需要的朋友可以參考下

本文實例講述了Java實現獲取銀行卡所屬銀行,驗證銀行卡號是否正確的方法。分享給大家供大家參考,具體如下:

需求:用戶輸入銀行卡卡號,需要驗證卡號格式,自動填充所屬銀行。

第一想到的是正則表達式,后面嘗試多次,卡號驗證不太準確。

換一種思路:用戶輸入卡號,進入java后臺,對卡號進行驗證,返回結果??尚?!

第一點:

如何驗證卡號格式以及所屬銀行?

js/html此處就不寫出來了。直接給后臺代碼,我提供給各位一個簡單的main調用,可自行修改(建議放入service):

/**
 * TODO
 * @param cardNo 銀行卡卡號
 * @return {"bank":"CMB","validated":true,"cardType":"DC","key":"(卡號)","messages":[],"stat":"ok"}
 * 2017年5月22日 下午4:35:23
 */
public static String getCardDetail(String cardNo) {
    // 創(chuàng)建HttpClient實例
    String url = "https://ccdcapi.alipay.com/validateAndCacheCardInfo.json?_input_charset=utf-8&cardNo=";
    url+=cardNo;
    url+="&cardBinCheck=true";
    StringBuilder sb = new StringBuilder();
try {
  URL urlObject = new URL(url);
  URLConnection uc = urlObject.openConnection();
  BufferedReader in = new BufferedReader(new InputStreamReader(uc.getInputStream()));
  String inputLine = null;
  while ( (inputLine = in.readLine()) != null) {
    sb.append(inputLine);
  }
  in.close();
} catch (MalformedURLException e) {
  e.printStackTrace();
} catch (IOException e) {
  e.printStackTrace();
}
return sb.toString();
}
public static void main(String[] args) {
    System.out.println(getCardDetail("卡號"));
}

得到的json字符串{"bank":"CMB","validated":true,"cardType":"DC","key":"(卡號)","messages":[],"stat":"ok"}后,后面的操作我就不多嘴了。

bank 銀行的名稱代碼

validated 是否通過驗證

不花錢就是程序員的原則!

上面調用的也是支付寶的api地址,完全免費哦 ~~

第二點:

如何獲得所有銀行的列表?

下面是我從支付寶頁面抓取的銀行卡列表json,很全面。你們copy后放入自己的json文件,或改寫到你們的數據庫,或者放入map

{
 "SRCB": "深圳農村商業(yè)銀行",
 "BGB": "廣西北部灣銀行",
 "SHRCB": "上海農村商業(yè)銀行",
 "BJBANK": "北京銀行",
 "WHCCB": "威海市商業(yè)銀行",
 "BOZK": "周口銀行",
 "KORLABANK": "庫爾勒市商業(yè)銀行",
 "SPABANK": "平安銀行",
 "SDEB": "順德農商銀行",
 "HURCB": "湖北省農村信用社",
 "WRCB": "無錫農村商業(yè)銀行",
 "BOCY": "朝陽銀行",
 "CZBANK": "浙商銀行",
 "HDBANK": "邯鄲銀行",
 "BOC": "中國銀行",
 "BOD": "東莞銀行",
 "CCB": "中國建設銀行",
 "ZYCBANK": "遵義市商業(yè)銀行",
 "SXCB": "紹興銀行",
 "GZRCU": "貴州省農村信用社",
 "ZJKCCB": "張家口市商業(yè)銀行",
 "BOJZ": "錦州銀行",
 "BOP": "平頂山銀行",
 "HKB": "漢口銀行",
 "SPDB": "上海浦東發(fā)展銀行",
 "NXRCU": "寧夏黃河農村商業(yè)銀行",
 "NYNB": "廣東南粵銀行",
 "GRCB": "廣州農商銀行",
 "BOSZ": "蘇州銀行",
 "HZCB": "杭州銀行",
 "HSBK": "衡水銀行",
 "HBC": "湖北銀行",
 "JXBANK": "嘉興銀行",
 "HRXJB": "華融湘江銀行",
 "BODD": "丹東銀行",
 "AYCB": "安陽銀行",
 "EGBANK": "恒豐銀行",
 "CDB": "國家開發(fā)銀行",
 "TCRCB": "江蘇太倉農村商業(yè)銀行",
 "NJCB": "南京銀行",
 "ZZBANK": "鄭州銀行",
 "DYCB": "德陽商業(yè)銀行",
 "YBCCB": "宜賓市商業(yè)銀行",
 "SCRCU": "四川省農村信用",
 "KLB": "昆侖銀行",
 "LSBANK": "萊商銀行",
 "YDRCB": "堯都農商行",
 "CCQTGB": "重慶三峽銀行",
 "FDB": "富滇銀行",
 "JSRCU": "江蘇省農村信用聯合社",
 "JNBANK": "濟寧銀行",
 "CMB": "招商銀行",
 "JINCHB": "晉城銀行JCBANK",
 "FXCB": "阜新銀行",
 "WHRCB": "武漢農村商業(yè)銀行",
 "HBYCBANK": "湖北銀行宜昌分行",
 "TZCB": "臺州銀行",
 "TACCB": "泰安市商業(yè)銀行",
 "XCYH": "許昌銀行",
 "CEB": "中國光大銀行",
 "NXBANK": "寧夏銀行",
 "HSBANK": "徽商銀行",
 "JJBANK": "九江銀行",
 "NHQS": "農信銀清算中心",
 "MTBANK": "浙江民泰商業(yè)銀行",
 "LANGFB": "廊坊銀行",
 "ASCB": "鞍山銀行",
 "KSRB": "昆山農村商業(yè)銀行",
 "YXCCB": "玉溪市商業(yè)銀行",
 "DLB": "大連銀行",
 "DRCBCL": "東莞農村商業(yè)銀行",
 "GCB": "廣州銀行",
 "NBBANK": "寧波銀行",
 "BOYK": "營口銀行",
 "SXRCCU": "陜西信合",
 "GLBANK": "桂林銀行",
 "BOQH": "青海銀行",
 "CDRCB": "成都農商銀行",
 "QDCCB": "青島銀行",
 "HKBEA": "東亞銀行",
 "HBHSBANK": "湖北銀行黃石分行",
 "WZCB": "溫州銀行",
 "TRCB": "天津農商銀行",
 "QLBANK": "齊魯銀行",
 "GDRCC": "廣東省農村信用社聯合社",
 "ZJTLCB": "浙江泰隆商業(yè)銀行",
 "GZB": "贛州銀行",
 "GYCB": "貴陽市商業(yè)銀行",
 "CQBANK": "重慶銀行",
 "DAQINGB": "龍江銀行",
 "CGNB": "南充市商業(yè)銀行",
 "SCCB": "三門峽銀行",
 "CSRCB": "常熟農村商業(yè)銀行",
 "SHBANK": "上海銀行",
 "JLBANK": "吉林銀行",
 "CZRCB": "常州農村信用聯社",
 "BANKWF": "濰坊銀行",
 "ZRCBANK": "張家港農村商業(yè)銀行",
 "FJHXBC": "福建海峽銀行",
 "ZJNX": "浙江省農村信用社聯合社",
 "LZYH": "蘭州銀行",
 "JSB": "晉商銀行",
 "BOHAIB": "渤海銀行",
 "CZCB": "浙江稠州商業(yè)銀行",
 "YQCCB": "陽泉銀行",
 "SJBANK": "盛京銀行",
 "XABANK": "西安銀行",
 "BSB": "包商銀行",
 "JSBANK": "江蘇銀行",
 "FSCB": "撫順銀行",
 "HNRCU": "河南省農村信用",
 "COMM": "交通銀行",
 "XTB": "邢臺銀行",
 "CITIC": "中信銀行",
 "HXBANK": "華夏銀行",
 "HNRCC": "湖南省農村信用社",
 "DYCCB": "東營市商業(yè)銀行",
 "ORBANK": "鄂爾多斯銀行",
 "BJRCB": "北京農村商業(yè)銀行",
 "XYBANK": "信陽銀行",
 "ZGCCB": "自貢市商業(yè)銀行",
 "CDCB": "成都銀行",
 "HANABANK": "韓亞銀行",
 "CMBC": "中國民生銀行",
 "LYBANK": "洛陽銀行",
 "GDB": "廣東發(fā)展銀行",
 "ZBCB": "齊商銀行",
 "CBKF": "開封市商業(yè)銀行",
 "H3CB": "內蒙古銀行",
 "CIB": "興業(yè)銀行",
 "CRCBANK": "重慶農村商業(yè)銀行",
 "SZSBK": "石嘴山銀行",
 "DZBANK": "德州銀行",
 "SRBANK": "上饒銀行",
 "LSCCB": "樂山市商業(yè)銀行",
 "JXRCU": "江西省農村信用",
 "ICBC": "中國工商銀行",
 "JZBANK": "晉中市商業(yè)銀行",
 "HZCCB": "湖州市商業(yè)銀行",
 "NHB": "南海農村信用聯社",
 "XXBANK": "新鄉(xiāng)銀行",
 "JRCB": "江蘇江陰農村商業(yè)銀行",
 "YNRCC": "云南省農村信用社",
 "ABC": "中國農業(yè)銀行",
 "GXRCU": "廣西省農村信用",
 "PSBC": "中國郵政儲蓄銀行",
 "BZMD": "駐馬店銀行",
 "ARCU": "安徽省農村信用社",
 "GSRCU": "甘肅省農村信用",
 "LYCB": "遼陽市商業(yè)銀行",
 "JLRCU": "吉林農信",
 "URMQCCB": "烏魯木齊市商業(yè)銀行",
 "XLBANK": "中山小欖村鎮(zhèn)銀行",
 "CSCB": "長沙銀行",
 "JHBANK": "金華銀行",
 "BHB": "河北銀行",
 "NBYZ": "鄞州銀行",
 "LSBC": "臨商銀行",
 "BOCD": "承德銀行",
 "SDRCU": "山東農信",
 "NCB": "南昌銀行",
 "TCCB": "天津銀行",
 "WJRCB": "吳江農商銀行",
 "CBBQS": "城市商業(yè)銀行資金清算中心",
 "HBRCU": "河北省農村信用社"
}

第三點:

如何顯示銀行對應的logo?

銀行的LOGO也可以用過支付寶提供的一個圖片API獲取。第一點中我們通過卡號獲取到了銀行名稱代碼等信息,此處即可使用以下鏈接顯示圖片:

https://apimg.alipay.com/combo.png?d=cashier&t=ABC(銀行簡稱-大寫)

完成整個需求,其實很簡單,也就這3個基本步驟。

寫的不夠完整,希望能幫到各位。

PS:這里再為大家推薦一款相關在線工具供大家參考:

在線銀行卡號歸屬地信息查詢工具:
http://tools.jb51.net/bianmin/bankinfo

更多關于java算法相關內容感興趣的讀者可查看本站專題:《Java數據結構與算法教程》、《Java操作DOM節(jié)點技巧總結》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總

希望本文所述對大家java程序設計有所幫助。

相關文章

  • Java中跳出多重循環(huán)嵌套的三種方法

    Java中跳出多重循環(huán)嵌套的三種方法

    這篇文章主要給大家介紹了關于Java中跳出多重循環(huán)嵌套的三種方法,很多復雜的運算以及邏輯可能用到嵌套循環(huán),但是如何跳出當前的多重嵌套循環(huán),很多同學特別是新手都操作的不是很清楚,需要的朋友可以參考下
    2023-07-07
  • Logback配置文件這么寫(TPS提高10倍)

    Logback配置文件這么寫(TPS提高10倍)

    這篇文章主要介紹了Logback配置文件這么寫(TPS提高10倍),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-08-08
  • 教你幾個?Java?編程中使用技巧

    教你幾個?Java?編程中使用技巧

    枯燥的編程中總得有些樂趣,今天我們不談論那些高深的技能,教你幾個在編程中的奇技淫巧,說不定在某些時候還能炫耀一番呢,今天小編教你幾個?Java?編程中使用技巧,感興趣的朋友參考下吧
    2022-12-12
  • Springmvc完成ajax功能實例詳解

    Springmvc完成ajax功能實例詳解

    在本篇文章里小編給大家整理了關于Springmvc完成ajax功能實例內容,有需要的朋友們可以參考學習下。
    2019-09-09
  • Java String.format()的用法

    Java String.format()的用法

    本篇文章主要介紹了JAVA的 String.format()的使用,具有一定的參考價值,有需要的可以了解一下,希望能夠給你帶來幫助
    2021-11-11
  • 深入學習Java編程中的字符串的進階使用

    深入學習Java編程中的字符串的進階使用

    這篇文章主要介紹了Java編程中的字符串的高級運用,包括StringBuffer類和StringTokenizer類以及常量池的介紹,需要的朋友可以參考下
    2016-01-01
  • Java中的任務調度框架quartz詳細解析

    Java中的任務調度框架quartz詳細解析

    這篇文章主要介紹了Java中的任務調度框架quartz詳細解析,Quartz 是一個完全由 Java 編寫的開源作業(yè)調度框架,為在 Java 應用程序中進行作業(yè)調度提供了簡單卻強大的機制,需要的朋友可以參考下
    2023-11-11
  • Java?分位點(分位值)計算方式

    Java?分位點(分位值)計算方式

    這篇文章主要介紹了Java?分位點(分位值)計算方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • 解決在IDEA下使用JUnit的問題(解決過程)

    解決在IDEA下使用JUnit的問題(解決過程)

    很多朋友跟小編反饋在IDEA下使用JUnit進行實例測試的時候出現很多奇葩問題,今天小編通過本文給大家分享idea使用JUnit出現問題及解決過程,感興趣的朋友跟隨小編一起看看吧
    2021-05-05
  • Java如何獲取Cookie和Session

    Java如何獲取Cookie和Session

    Cookie?和?Session之間主要是通過?SessionId?關聯起來的,?SessionId是?Cookie?和?Session?之間的橋梁,這篇文章主要介紹了Java獲取Cookie和Session的方法,需要的朋友可以參考下
    2024-01-01

最新評論