根據銀行卡號判斷銀行卡是否正確與歸屬銀行

校驗過程:
1.從卡號的最后一位數字開始,逆向將奇數位(1,3,5 等等相加)
2.從卡號最后一位數字開始,逆向將偶數位數字,先乘以2,如果乘積為兩位數,將個位數字相加,即將其減去9,再求和。
3.將奇數位總和加上偶數位總和,結果應該可以被10 整

public static boolean chenk(String bankCard){//如果小于15位或大于19位為假if (bankCard.length() <15 || bankCard.length() > 19) {return false;}//聲明一個bit 接收銀行卡截取出來的字符串char bit= getBank(bankCard.substring(0,bankCard.length()-1));if (bit =='F') {return false;//不是數據返回false}return bankCard.charAt(bankCard.length()-1)==bit;}public static char getBank(String non){//銀行卡號if (non == null || non.trim().length()== 0 || !non.matches("\\d+")) {return 'F'; //如果傳的不是數據返回F}char[] cs = non.trim().toCharArray();int sum = 0;for (int i = cs.length-1,j=0;i>=0;i--,j++) {int k = cs[i]-'0';if (j % 2 ==0) {k *= 2;k = k/10+k%10;}sum +=k;}return (sum % 10 ==0)?'0':(char)((10-sum)% 10+'0');}//測試銀行卡號是否為真public static void main(String[] args) {boolean chenk= chenk("6217991100001804444");System.out.println(chenk);}

我們在網上也可以找到支付寶銀行卡接口進行校驗,也可以準確的識別該銀行卡號是否存在,以及該銀行卡的歸屬行。
支付寶的開放API,銀行卡校驗接口:
https://ccdcapi.alipay.com/validateAndCacheCardInfo.json?cardNo=1111&cardBinCheck=true
我們需要傳入兩個參數:卡號cardNo,狀態:cardBinCheck。
返回參數:

{"bank":"GDB","validated":true,"cardType":"DC","key":"6225680421001165184","messages":[],"stat":"ok"}

錯誤返回:
在這里插入圖片描述
成功返回:
在這里插入圖片描述
這里再說一個接口:
可以根據銀行卡歸屬標識碼,查詢銀行logo圖標接口地址:
https://apimg.alipay.com/combo.png?d=cashier&t=BOCY
這里是get請求,我們只要把銀行卡歸屬標識碼作為t參數傳入即可查詢出歸屬銀行logo,銀行卡歸屬標識碼這里就不一一詳述。

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

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/443371.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/443371.shtml
英文地址,請注明出處:http://en.pswp.cn/news/443371.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

根據年月日判斷第多少天,星期幾

1. 根據年月日判斷第多少天 Scanner是SDK1.5新增的一個類,可使用該類創建一個對象。 Scanner scannernew Scanner(System.in);  然后scanner對象調用下列方法&#xff08;函數&#xff09;,讀取用戶在命令行輸入的各種數據類型   next.Byte(),nextDouble(),nextFloat,nextIn…

解決MySQLyog 導入數據庫文件沒有反應

之前我在MySQL 中新建了一個數據庫&#xff0c;名為“onlineclassroom” 的數據庫&#xff0c;但是在將外部的.sql 文件導入進來之后發現&#xff0c;數據庫沒有反應&#xff0c;也看不到表數據&#xff0c;以為是沒有刷新問題&#xff0c;但是刷新之后發現還是沒有這個就很奇怪…

解決myeclipse報錯500,MySQLyog報錯誤碼問題

在myeclipse 寫了一個登錄&#xff0c;但在我登錄的時候卻報了500的空指針&#xff0c;我檢查了自己的登錄代碼&#xff0c;發現沒有問題&#xff0c;這不應該啊&#xff0c;然后在網上也尋找了一些解決方案&#xff0c;發現好像并不適用&#xff0c;500空指針如下&#xff1a;…

Java防止用戶同一時間重復登錄(包括異地登錄)

有時候我們在做登錄模塊過程中難免會遇到這種問題&#xff0c;即使我們給用戶進行了多重判斷&#xff0c;比如&#xff1a;用戶名&#xff0c;管理員&#xff0c;驗證碼&#xff0c;一系列的判斷… 你是否真正考慮到用戶的體驗&#xff0c;比如不能讓用戶在同一時間&#xff0c…

jquery點擊彈出播放視頻并顯示遮罩層

最近在做視頻播放的時候&#xff0c;發現用jquery的播放視頻可以很好的實現我所需要的效果。在之前請把插件引用進來&#xff0c;廢話不多說&#xff0c;代碼如下&#xff1a; <!DOCTYPE html> <html><head><meta charset"utf-8"><meta …

JS實現圖片循環滾動

之前在前端的時候有遇到這樣一個問題&#xff0c;實現 JS 圖片的循環滾動&#xff0c;然后鼠標移入的時候停止滾動&#xff0c;鼠標移開繼續滾動&#xff0c;這里無非就是設置了一個定時器&#xff0c;鼠標移上時清除定時器達到滾動停止的目的&#xff0c;鼠標移開時重設定時器…

有趣的滾動條

今天在搭前端頁面的時候&#xff0c;UI給過來的一個自定義的滾動條&#xff0c;要求必須與設計的一樣&#xff0c;覺得有點有趣&#xff0c;現在記錄一下。 效果圖&#xff1a; 具體代碼是這樣的&#xff1a; /*字體太長&#xff0c;這里我就減少一些*/ <div class"l…

查詢分頁的幾種sql語句

sql server 中的分頁查詢sql語句不跟mysql 一樣&#xff0c;mysql 用 limit 可以實現查詢sql分頁。如&#xff1a; select * from news where id>(select id from news limit 250000,1) limit 10; //相對執行效率高 select * from news limit 250000,10;mysql 中 limit總是…

c#解決在數據表格中無法顯示秒數問題

在查詢日期的時候&#xff08;年月日時分秒&#xff09;&#xff0c;發現丟失了秒&#xff0c;在這里我用的是自己 封裝的Vo類里面的時間轉換&#xff0c;沒有把秒數查詢出來&#xff0c;在Vo動不了手&#xff0c;我還不能對Controller 動手了&#xff1f; 查詢&#xff1a; 更…

解決 idea 復制jsp 文件過來頁面報404

今天在做功能的時候把另外一個jsp文件復制過來&#xff0c;發現頁面一直報404&#xff0c;咋搞的&#xff0c;檢查路徑沒有問題&#xff0c;報404這個就奇葩了&#xff0c;后面經過一番“洗腦”&#xff0c;才發現jsp文件復制過來少了一個特別重要的步驟&#xff0c;那就是重新…

解決ckeditor富文本在layui 彈框中大小字體等下拉不顯示

css <div class"layui-input-inline" style"width:1100px;"><div class"noticeContent"><textarea id"Introduce1" name"處分結果" class"form-control" style"z-index:19991015">&…

C# DateTime.Compare判斷兩個DateTime 日期是否相等

DateTime t1 DateTime.Now.Date; //2020/8/4 0:00:00 DateTime t2 Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"));//得到2020/8/4 16:24:54 DateTime t3 Convert.ToDateTime(t1.AddHours(16).AddMinutes(24).AddSeconds(t2.Second).AddM…

解決git上傳提交的時出現:Please tell me who you are.問題

今天安裝好git后&#xff0c;創建新項目&#xff0c;當git上傳提交時出現了一個問題&#xff0c;如下&#xff1a; Commit failed - exit code 128 received, with output: *** Please tell me who you are.Rungit config --global user.email "youexample.com"git …

vue解決v-for報錯 [vue/valid-v-for]Custom elements in iteration require ‘v-bind:key‘ directives

v-for報錯 [vue/valid-v-for]Custom elements in iteration require ‘v-bind:key’ directives.eslint-plugin-vue 原因&#xff1a;這是因為我安裝的enlint插件&#xff0c;它會對代碼的規范進行檢查。我這里用到v-for&#xff0c;但它是需要key值的&#xff0c;當不根據它的…

vscode中如何運行git

在vscode 中運行git 指令&#xff0c;發現報錯。 這是因為還沒有進行安裝git &#xff0c;所以這個指令對于vscode 來說是沒有辦法識別的&#xff0c;這時&#xff0c;我們就要進行下載安裝git。 第一步&#xff1a;下載git 去到git 官網&#xff1a; 點擊下載&#xff0…

通過nginx在window下部署項目

1…安裝nginx 首先&#xff0c;進入nginx 的官網&#xff0c;下載nginx&#xff0c;安裝nginx 通過&#xff0c;https://nginx.org/ 鏈接進入 Mainline version&#xff1a;開發版&#xff0c;mainline 目前主力在做的版本 Stable version&#xff1a;最新穩定版&#xff0c;生…

C# 字符串逗號分隔存到List 數組(互相轉換)

List 數組用逗號分隔成字符串 var ptCancelFileUpload context.PtCancelFileUpload.Where(x > x.Recordstatus ! RecordStatusType.InActive.ToStr()).Select(x > x.Taskcode).ToList();if (ptCancelFileUpload.Count > 0){string resultStr "";foreach …

代碼塊概述

代碼塊&#xff1a;在Java中&#xff0c;使用{}括起來的代碼被稱為代碼塊。 根據其位置和聲明的不同&#xff0c;可以分為&#xff1a; 局部代碼塊:局部位置,用于限定變量的生命周期。 構造代碼塊:在類中的成員位置,用{}括起來的代碼。每次調用構造方法執行前&#xff0c;都…

Android常見命令

1&#xff09;adb指令 adb kill-server 殺死adb服務 adb start-server 開啟adb服務 cd desktop&#xff08;假如安裝包在桌面&#xff09; adb install 應用名.apk 安裝應用 adb uninstall 應用包名 …

final,finally和finalize的區別

&#xfeff;&#xfeff;final&#xff1a;最終的意思&#xff0c;可以修飾類&#xff0c;成員變量&#xff0c;成員方法 修飾類&#xff0c;類不能被繼承 修飾變量&#xff0c;變量是常量 修飾方法&#xff0c;方法不能被重寫 finally&…