<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-71  評論-5  文章-0  trackbacks-0
      /**
             * 校驗銀行卡卡號
             * 
    @param cardId
             * 
    @return
             
    */
            public static boolean checkBankCard(String cardId) {
                     char bit = getBankCardCheckCode(cardId.substring(0, cardId.length() - 1));
                     if(bit == 'N'){
                         return false;
                     }
                     return cardId.charAt(cardId.length() - 1) == bit;
            }
           
            /**
             * 從不含校驗位的銀行卡卡號采用 Luhm 校驗算法獲得校驗位
             * 
    @param nonCheckCodeCardId
             * 
    @return
             
    */
            public 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');
            }



       //   測試代碼


    public class ResTest {
    public static void main(String[] args) {
       String reg = "18632116655";
       String data = JsonUtil.toJson(reg);
       String post = HttpClient.post("http://192.168.199.127:8067/openapi/rest/hometop/homeinfo", AESUtil.encrypt(data));
       System.out.println(post);
       System.out.println(AESUtil.decrypt(post));
    }
    }











    /**
    * author:qiaoyongjun
    * StrNo:用戶輸入的身份證件號碼
    * _id:用來承載錯誤信息的控件ID號,用來進行友好提示
    *判斷身份證號碼格式函數
    *公民身份號碼是特征組合碼,
    *排列順序從左至右依次為:六位數字地址碼,八位數字出生日期碼,三位數字順序碼和一位數字校驗碼
    *如果驗證通過 返回 true
    */
    function isChinaIDCard(StrNo, _Id) {
    var error = document.getElementById(_Id);
    StrNo = StrNo.toString();
    if (StrNo.length == 15) {
    if (!isValidDate("19" + StrNo.substr(6, 2), StrNo.substr(8, 2),
    StrNo.substr(10, 2), _Id)) {
    return false;
    }
    } else if (StrNo.length == 18) {
    if (!isValidDate(StrNo.substr(6, 4), StrNo.substr(10, 2), StrNo
    .substr(12, 2), _Id)) {
    return false;
    }
    } else {
    error.innerHTML = "";
    error.innerHTML = "輸入的身份證號碼必須為15位或者18位!";
    return false;
    }
    if (StrNo.length == 18) {
    var a, b, c
    if (!isNumber(StrNo.substr(0, 17))) {
    error.innerHTML = "";
    error.innerHTML = "身份證號碼錯誤,前17位不能含有英文字母!";
    return false;
    }
    a = parseInt(StrNo.substr(0, 1)) * 7 + parseInt(StrNo.substr(1, 1))
    * 9 + parseInt(StrNo.substr(2, 1)) * 10;
    a = a + parseInt(StrNo.substr(3, 1)) * 5
    + parseInt(StrNo.substr(4, 1)) * 8
    + parseInt(StrNo.substr(5, 1)) * 4;
    a = a + parseInt(StrNo.substr(6, 1)) * 2
    + parseInt(StrNo.substr(7, 1)) * 1
    + parseInt(StrNo.substr(8, 1)) * 6;
    a = a + parseInt(StrNo.substr(9, 1)) * 3
    + parseInt(StrNo.substr(10, 1)) * 7
    + parseInt(StrNo.substr(11, 1)) * 9;
    a = a + parseInt(StrNo.substr(12, 1)) * 10
    + parseInt(StrNo.substr(13, 1)) * 5
    + parseInt(StrNo.substr(14, 1)) * 8;
    a = a + parseInt(StrNo.substr(15, 1)) * 4
    + parseInt(StrNo.substr(16, 1)) * 2;
    b = a % 11;
    if (b == 2) //最后一位為校驗位  
    {
    c = StrNo.substr(17, 1).toUpperCase(); //轉為大寫X  
    } else {
    c = parseInt(StrNo.substr(17, 1));
    }
    switch (b) {
    case 0:
    if (c != 1) {
    error.innerHTML = "";
    error.innerHTML = "身份證號碼校驗位錯:最后一位應該為:1";
    return false;
    }
    break;
    case 1:
    if (c != 0) {
    error.innerHTML = "";
    error.innerHTML = "身份證號碼校驗位錯:最后一位應該為:0";
    return false;
    }
    break;
    case 2:
    if (c != "X") {
    error.innerHTML = "";
    error.innerHTML = "身份證號碼校驗位錯:最后一位應該為:X";
    return false;
    }
    break;
    case 3:
    if (c != 9) {
    error.innerHTML = "";
    error.innerHTML = "身份證號碼校驗位錯:最后一位應該為:9";
    return false;
    }
    break;
    case 4:
    if (c != 8) {
    error.innerHTML = "";
    error.innerHTML = "身份證號碼校驗位錯:最后一位應該為:8";
    return false;
    }
    break;
    case 5:
    if (c != 7) {
    error.innerHTML = "";
    error.innerHTML = "身份證號碼校驗位錯:最后一位應該為:7";
    return false;
    }
    break;
    case 6:
    if (c != 6) {
    error.innerHTML = "";
    error.innerHTML = "身份證號碼校驗位錯:最后一位應該為:6";
    return false;
    }
    break;
    case 7:
    if (c != 5) {
    error.innerHTML = "";
    error.innerHTML = "身份證號碼校驗位錯:最后一位應該為:5";
    return false;
    }
    break;
    case 8:
    if (c != 4) {
    error.innerHTML = "";
    error.innerHTML = "身份證號碼校驗位錯:最后一位應該為:4";
    return false;
    }
    break;
    case 9:
    if (c != 3) {
    error.innerHTML = "";
    error.innerHTML = "身份證號碼校驗位錯:最后一位應該為:3";
    return false;
    }
    break;
    case 10:
    if (c != 2) {
    error.innerHTML = "";
    error.innerHTML = "身份證號碼校驗位錯:最后一位應該為:2";
    return false;
    }
    }
    } else {//15位身份證號  
    if (!isNumber(StrNo)) {
    error.innerHTML = "";
    error.innerHTML = "身份證號碼錯誤,前15位不能含有英文字母!";
    return false;
    }
    }
    return true;
    }
    /**
    * 驗證身份證件中的日期是否合法有效
    * @param iY
    * @param iM
    * @param iD
    * @param _id
    * @return
    */
    function isValidDate(iY, iM, iD, _id) {
    if (iY > 2200 || iY < 1900 || !isNumber(iY)) {
    document.getElementById(_id).innerHTML = "";
    document.getElementById(_id).innerHTML = "輸入身份證號,年度" + iY + "非法!";
    return false;
    }
    if (iM > 12 || iM <= 0 || !isNumber(iM)) {
    document.getElementById(_id).innerHTML = "";
    document.getElementById(_id).innerHTML = "輸入身份證號,月份" + iM + "非法!";
    return false;
    }
    if (iD > 31 || iD <= 0 || !isNumber(iD)) {
    document.getElementById(_id).innerHTML = "";
    document.getElementById(_id).innerHTML = "輸入身份證號,日期" + iD + "非法!";
    return false;
    }
    return true;
    }
    /**
    * 驗證是否為數字
    * @param oNum
    * @return
    */
    function isNumber(oNum) {
    if (!oNum)
    return false;
    var strP = /^\d+(\.\d+)?$/;
    if (!strP.test(oNum))
    return false;
    try {
    if (parseFloat(oNum) != oNum)
    return false;
    } catch (ex) {
    return false;
    }
    return true;
    }
    posted on 2014-12-21 22:09 藤本薔薇 閱讀(1767) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲午夜理论片在线观看| 国产无遮挡色视频免费观看性色| 免费va人成视频网站全| 巨胸喷奶水www永久免费| 老汉色老汉首页a亚洲| 精品国产精品久久一区免费式| 一区二区三区免费在线视频| 91久久亚洲国产成人精品性色| 免费视频中文字幕| 黄网站色视频免费在线观看的a站最新| 久久狠狠爱亚洲综合影院| 中文字幕日韩亚洲| 一个人免费观看视频www| 国产精品永久免费| 亚洲中文字幕AV每天更新| 国产V亚洲V天堂无码| 日本特黄特黄刺激大片免费| 性xxxxx大片免费视频| 一进一出60分钟免费视频| 亚洲一区在线视频| 亚洲不卡av不卡一区二区| 国产成人免费高清在线观看| 99久久久国产精品免费蜜臀| 成人嫩草影院免费观看| 亚洲人成免费电影| 久久精品亚洲日本佐佐木明希| 全黄性性激高免费视频| AV无码免费永久在线观看| 搡女人免费免费视频观看| 国产天堂亚洲精品| 亚洲中文字幕久久精品无码VA| 久久精品国产亚洲AV高清热| 亚洲综合色成在线播放| 日本不卡在线观看免费v| 国产卡二卡三卡四卡免费网址| 毛片在线播放免费观看| 国产99视频精品免费视频76| 真正全免费视频a毛片| 亚洲w码欧洲s码免费| 久久精品a亚洲国产v高清不卡| 亚洲精品自产拍在线观看|