第二代身份證號碼的驗證代碼

代碼實現:

function cardValidity() {
	iW = new Array(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,1);
	iSum = 0;
	for ( i=0;i<17;i++) {
		iC = v_card.charAt(i) ;
		iVal = parseInt(iC);
		iSum += iVal * iW[i];
	}
	iJYM = iSum % 11;
	var sJYM = '';
	if (iJYM == 0) sJYM = "1";
	else if (iJYM == 1 ) sJYM = "0";
	else if (iJYM == 2 ) sJYM = "x";
	else if (iJYM == 3 ) sJYM = "9";
	else if (iJYM == 4 ) sJYM = "8";
	else if (iJYM == 5 ) sJYM = "7";
	else if (iJYM == 6 ) sJYM = "6";
	else if (iJYM == 7 ) sJYM = "5";
	else if (iJYM == 8 ) sJYM = "4";
	else if (iJYM == 9) sJYM = "3";
	else if (iJYM == 10) sJYM = "2";
	var cCheck = v_card.charAt(17).toLowerCase();
	if( cCheck != sJYM ){
		return false;            //對不上就是假號碼
	} else {
		return true;
	}
}

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章