posts - 10,comments - 5,trackbacks - 0

  //开始 15位到18位的身份证号转换
   //身份证号码由十七位数字本体码和一位校验码组成,排列顺序从左至右依次为:
   //六位数地址码、八位数字的出生日期码、三位数字的顺序码和一位数字的校验码
    public String change18ID(String ID15){
         String ID18="";
         if(ID15.length()==18){
           ID18=ID15.toUpperCase();
         }

         if(ID15.length()==15){
            int[] w={7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,1};
            char[] A={'1','0','X','9','8','7','6','5','4','3','2'};
            String ID17=ID15.substring(0,6)+"19"+ID15.substring(6,15);
            int[] ID17Array;
            ID17Array=new int[17];
            for(int i=0;i<17;i++){
                ID17Array[i]=Integer.parseInt(ID17.substring(i,i+1));
            }
            int s=0;
            for(int i=0;i<17;i++){
                 s=s+ID17Array[i]*w[i];
            }
            s=s%11;
            ID18=ID17+A[s];
          }
          return ID18.trim();
      }
 //结束 15位到18位的身份证号转换
 public String change15ID(String ID18){
     String ID15="";
     if(ID18.length()==15) ID15=ID18;
     if(ID18.length()==18){
         ID15=ID18.substring(0,6)+ID18.substring(8,17);
     }
     return ID15.trim();
 }
 

posted on 2006-12-13 16:03 Stellar.He 阅读(2167) 评论(2)  编辑  收藏

FeedBack:
# re: 身份证号转换15位与18位
2008-05-15 21:13 | 123456
123456  回复  更多评论
  
# re: 身份证号转换15位与18位
2008-06-01 09:20 | 好人
哈哈,帮我弄个好东西  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航: