JANコードチェッカー


13桁のJANコードからチェックデジット(C/D)を計算して入力ミスを指摘します。12桁の場合は、C/Dを計算して表示します。
8桁の短縮タイプにも対応し、7桁の場合はC/Dを計算して表示します。

JAN CODE:

JANコードについては財団法人流通システム開発センター解説ページを参照してください。 こちらにも計算方法が載っています。
<script language="JavaScript" type="text/JavaScript">
function cd_check() {
	//コード取得
	s = document.form1.tf01.value;

	//短縮タイプの場合
	if (s.length == 8) s = "00000" + s;
	else if (s.length == 7) s = "00000" + s;

	//処理分岐
	if (s.length == 13) set = 1;
	else if (s.length == 12) set = 2;
	else set = 0;
	
	if (set > 0) {
		//C/D取得
		cd = s.substr(s.length-1,1);
		//初期値
		m = 0;
		t1 = 0;
		t2 = 0;
		//桁毎の加算処理
		for (i=0;i<12;i++) {
			if (m == 0) {
				//奇数桁6つを加算
				t1 = t1 + parseInt(s.substr(i,1));
				m = 1;
			} else {
				//偶数桁6つを加算
				t2 = t2 + parseInt(s.substr(i,1));
				m = 0;
			}
		}
		//奇数桁と偶数桁の3倍値を加算
		m = t1 + t2 * 3;
		//mを文字列化
		s = "" + m;
		//加算値の1桁目を10から引く
		m = 10 - parseInt(s.substr(s.length-1,1));
		if (m == 10) {m = 0;}

		//表示
		if (set == 1) {
			if (cd == m) alert("C/Dチェック合格(C/D == " + m +")");
			else alert("C/Dチェック不合格(" + cd + "<>" + m +")");
		} else {
			alert("C/D == " + m);
		}

	} else {
		//表示
		alert("JANコードは12桁(C/Dなし)または13桁(C/Dあり)で入力してください。");
	}
}
</script>

戻る