b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

15位号码验证_15位号码转18位_号码15位大全集(4)

电脑杂谈  发布时间:2017-03-04 22:08:25  来源:网络整理

测试类

IDCard idcard = new IDCard(); 
System.out.println(idcard.Verify(sfz));

经典验证类:

public class IdCardDemo {
	
	public boolean isIdCard(String arrIdCard) {
		int sigma = 0;
		Integer[] a = { 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2 };
		String[] w = { "1", "0", "X", "9", "8", "7", "6", "5", "4", "3", "2" };
		for (int i = 0; i < 17; i++) {
			int ai = Integer.parseInt(arrIdCard.substring(i, i + 1));
			int wi = a[i];
			sigma += ai * wi;
		}		
		int number = sigma % 11;		
		String check_number = w[number];		
		if (!arrIdCard.substring(17).equals(check_number)) {
			return false;
		} else {
			return true;
		}
	}
}

相比第一个代码量更少!推荐呀

经过改写后的javascript版本:

function isIdCard(arrIdCard){
		var tag = false;	
		var sigma = 0;  
		var a = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2 );  
		var w = new Array("1", "0", "X", "9", "8", "7", "6", "5", "4", "3", "2");  		
		for (var i = 0; i < 17; i++) {  
			var ai = parseInt(arrIdCard.substring(i, i + 1));  
			var wi = a[i];  
			sigma += ai * wi;  			
		}   
		var number = sigma % 11;    		
		var check_number = w[number];   
		if (arrIdCard.substring(17) != check_number) {  
			tag =  false;  
		} else {  
			tag = true;  
		}  	
		return tag;
}

经过测试OK

15位转换为18位,参考文章:15位号码转18位的JSP程序

?id=7

Java版

/**
	 * 15位转换18位
	 * */
	public static String idCard15To18(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 + Character.toString(A[s]);
		}
		return ID18;
	}


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/tongxinshuyu/article-35791-4.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 卢邺
      卢邺

      我想这样就好了

    • 贾朋钊
      贾朋钊

      在中国同志有更传统的意思哦

    热点图片
    拼命载入中...