1. 程式人生 > >安卓實現銀行卡號驗證

安卓實現銀行卡號驗證

  /**
     * 判斷是否是銀行卡號
     * @author WJ
     * @param cardNo
     * @return
     */
    public static boolean checkBankCard(String cardNo) {  
        char bit = getBankCardCheckCode(cardNo  
                .substring(0, cardNo.length() - 1));  
        if (bit == 'N') {  
            return false;  
        }  
        return cardNo.charAt(cardNo.length() - 1) == bit;  
  
    }  
    
    private static char getBankCardCheckCode(String nonCheckCodeCardId) {  
        if (nonCheckCodeCardId == null  
                || nonCheckCodeCardId.trim().length() == 0  
                || !nonCheckCodeCardId.matches("\\d+")) {  
            // 如果傳的不是資料返回N  
            return 'N';  
        }  
        char[] chs = nonCheckCodeCardId.trim().toCharArray();  
        int luhmSum = 0;  
        for (int i = chs.length - 1, j = 0; i >= 0; i--, j++) {  
            int k = chs[i] - '0';  
            if (j % 2 == 0) {  
                k *= 2;  
                k = k / 10 + k % 10;  
            }  
            luhmSum += k;  
        }  
        return (luhmSum % 10 == 0) ? '0' : (char) ((10 - luhmSum % 10) + '0');  
    }

相關推薦

實現銀行卡驗證

  /**      * 判斷是否是銀行卡號      * @author WJ      * @param cardNo      * @return      */     public static boolean checkBankCard(String cardN

掃描銀行卡獲取卡資訊

不得不說card.io開源的銀行卡掃描的三方庫真的是很好用啊,非常稀飯,使用簡單,而且給你提供的API很多,滿足大部分的需要(反正是滿足我的各種需求了) 首先上一個效果圖 1 對準銀行卡的四角就能夠掃描出來銀行卡資訊,你整合的話首先需要在你的module的gradle的依

使用javascript實現銀行卡的Luhn校驗或驗證演算法

//Create Time: 07/28/2011 //Operator: 劉政偉 //Description: 銀行卡號Luhm校驗 //Luhm校驗規則:16位銀行卡號(19位通用): // 1.將未帶校驗位的 15(或18)位卡號從右依次編號 1

實現群發簡訊

安卓實現群發簡訊: 1.首先獲取到即將要群發的聯絡人的集合: private List<UploadContactBean> selectContactList = new ArrayList<>(); 2.群發簡訊: public void sendGrou

實現直播彈幕

最近由於專案中直播需要用到彈幕,網上搜一下,基本就嗶哩嗶哩開源的一個開源專案,用起來很簡單,優化也做的比較好。但是引用到專案裡的話跟我們的需求不符合。專案裡的彈幕需要各種各樣的view,但是bilibili主要是針對文字的,對其他的view支援並不好,所以就自己根據專案需求自定義了一個彈

實現電話撥號與資訊的直接傳送

Android實現電話跳轉介面撥號與直接傳送簡訊 一、電話撥號 下面的是我們的最終的效果圖: 首先我們先來貼一下layout的佈局 <LinearLayout xmlns:android="http://schemas.android.com/

實現沉浸式狀態列,相容小米、魅族

現階段不是很忙,就總結一下自己都實現過的功能。這一篇總結安卓實現沉浸式狀態列 Android4.4(API 19) - Android 5.0(API 21): 這個階段可以實現沉浸式,但是表現得還不是很好,實現方式為: 通過FLAG_TRANSLUCENT_STATUS設定

移動端大架識別

汽車vin碼即是車輛識別碼的縮寫,即是汽車前擋風玻璃處那一排字母數字組合。SEA標準規定:汽車vin碼由17位字元組成,包含了車輛的生產廠家、年代、車型、發動機程式碼及組裝地點等資訊,如同我們一生中無數場景要用到身份證一樣,汽車從下線出廠、進4S店銷售、行駛證登記造冊、保險登

實現區域性介面遮罩效果

背景 列表展示資料時,有些資料因為失效了,需要灰化展示。但是因為每一行資料裡面包含多個view(如包含使用者姓名、性別等等資訊),不方便對每個view進行灰化設定,所以需要一個遮罩層將整行遮蓋來達到灰化效果。大致效果如下: 解決方案 列表的item佈局採用RelativeL

RN實現分析之ReactRootView的實現過程

上一篇提到了入口類ReactActivity和他的代理實現類ReactActivityDelegate,這一次繼續我們的分析之路 寫著一片之前,沒有看過任何其他兄弟對相關內容的分析,不是覺得自己牛逼。 是怕別人的思維影響到我的理解,如果講得不對,歡迎指出!

實現任意控制元件view可拖拽,並監聽拖拽和點選事件,可自動拉回螢幕邊緣

因為專案中有需要實現控制元件可任意拖拽的需求,所以簡單寫了個自定義OnTouchListener,以作拋磚引玉,歡迎大家提議反饋。 完整實現類如下,程式碼中有詳細註釋: 使用者可以決定是否開啟自動拖拽邊緣功能,可以監聽控制元件的拖拽和點選事件 public cl

實現類似連續點選5次進入開發者模式的功能

我們在專案開發中,為了方便測試,我們往往會碰到需要切換正式環境和測試環境的功能。今天,我就分享一下我專案中用到的切換方式。 我們採用一秒內連續點選某個5次,就會開放出切換環境的按鈕。下面附上程式碼和說明。 // 需要點選幾次 就設定幾 long [] mHit

實現錄音/播放/暫停/繼續的功能

目錄: 1、開始錄音 2、結束錄音 3、播放錄音 4、暫停/繼續 1、開始錄音 public void startSound(){ path= Environment.getExternalStorageDirectory().getAbsolutePath()+"

實現錄音機的錄音功能

最近專案中需要做一個錄音機的功能,就去研究了一下,安卓中使用錄音功能使用的是MediaRecorder類,這個類在android.media包下。 該類的使用方法和MediaPlayer非常相似。 首先先初始化: <uses-permission

實現橫向滑動的卡片效果

最近專案上需要實現這樣效果的一個頁面,本來想找個現成的兩下搞定,但是問了半天度娘也沒招,索性自己琢磨琢磨(這裡邊也少不了同事的幫助),先把最終的效果圖貼上: 理論上講,其本質並不複雜,就是一個viewpager,但是第一次實現這樣的效果還是要花些時間的,具體的程式碼如下:

實現listview聯動效果且選項多選

   實現效果如圖,點選大洲進行第一個listview資料的重新整理且聯動第二個listview資料更新,正常第二個listview是單選,點選後進行資料重新整理,現在做的是資料多選最後點選確定按鈕進行資料提交 首先實現兩個listview聯動效果: 資料來源如下   "

實現拍照、上傳圖片以及剪下圖片

效果圖: 總結一下專案實現的選擇圖片、拍照、以及剪下圖片,再加一下圖片壓縮,上傳到伺服器等功能 網上有好多關於圖片上傳、拍照的方法,我這只是自己專案的一種方式,之前部落格也是總結過圖集上傳,裡面也包含圖片上傳,拍照的相關程式碼,在這我單獨拿出來總結一下,還有關於呼叫系統

實現富文字(1)

本篇文章實現自我編輯富文字,就是說可以實現讓自己編輯的文字以富文字的形式展示 主要參考的是這位大神的部落格 展示富文字的思路 首先需要拿到使用者在編輯框編輯的文字 然後根據使用者選擇的富文字方式

RN實現分析之ReactActivity的前世今生

為什麼寫著一系列? 最近的工作內容都是RN相關的開發的一些內容,正好有對原始碼進行一些修改,所以把改的過程中的一些記錄化作原始碼分析介紹給大家 準備怎麼介紹? 會直接依序讀原始碼+介紹的方式介紹RN安卓實現的原理(但是會分為多個篇幅,一篇內容太多不

實現水波紋動畫效果

步驟1: 首先如果想實現上圖的動畫效果,首先新建一個類然後去繼承view,然後重寫裡面的構造方法(切記選擇裡面帶有兩個 引數的構造方法,因為佈局檔案中需要用到這個類,一般需要在佈局檔案中用到的類都會選擇帶有兩個引數的構造方 法),然後在佈局檔案中引用這個類就行了,如下我的