プログラマメモ2 - programmer no memo2

UPCコード,EANコード,JANコードにおける国別コード判定 その2 2007/12/16

JavaScriptです。
Life is beautiful: Javascript、クロージャを使ったプライベート関数の隠蔽について
という記事を読んで、なるほどと思い、自分で試してみました。

以前、作成した、UPCコード,EANコード,JANコードにおける国別コード判定 - プログラマメモ2をベースにして試してみます。

下のテキストボックスに数字(例,45とか)入れてOKをボタンを押すと、そのコードにあった国名を表示します。




長いけどとりあえず、使用したコード。
<script>
var code2name = (function(){
var mapping ={
"10":"アメリカ合衆国、カナダ",
"11":"アメリカ合衆国、カナダ",
"12":"アメリカ合衆国、カナダ",
"13":"アメリカ合衆国、カナダ",
"20":"小売業インストアコード用",
"21":"小売業インストアコード用",
"22":"小売業インストアコード用",
"23":"小売業インストアコード用",
"24":"小売業インストアコード用",
"25":"小売業インストアコード用",
"26":"小売業インストアコード用",
"27":"小売業インストアコード用",
"28":"小売業インストアコード用",
"29":"小売業インストアコード用",
"30":"フランス",
"31":"フランス",
"32":"フランス",
"33":"フランス",
"34":"フランス",
"35":"フランス",
"36":"フランス",
"37":"フランス",
"380":"ブルガリア",
"383":"スロベニア",
"385":"クロアチア",
"387":"ボスニア・ヘルツェゴビナ",
"400":"ドイツ連邦共和国",
"401":"ドイツ連邦共和国",
"402":"ドイツ連邦共和国",
"403":"ドイツ連邦共和国",
"404":"ドイツ連邦共和国",
"405":"ドイツ連邦共和国",
"406":"ドイツ連邦共和国",
"407":"ドイツ連邦共和国",
"408":"ドイツ連邦共和国",
"409":"ドイツ連邦共和国",
"410":"ドイツ連邦共和国",
"411":"ドイツ連邦共和国",
"412":"ドイツ連邦共和国",
"413":"ドイツ連邦共和国",
"414":"ドイツ連邦共和国",
"415":"ドイツ連邦共和国",
"416":"ドイツ連邦共和国",
"417":"ドイツ連邦共和国",
"418":"ドイツ連邦共和国",
"419":"ドイツ連邦共和国",
"420":"ドイツ連邦共和国",
"421":"ドイツ連邦共和国",
"422":"ドイツ連邦共和国",
"423":"ドイツ連邦共和国",
"424":"ドイツ連邦共和国",
"425":"ドイツ連邦共和国",
"426":"ドイツ連邦共和国",
"427":"ドイツ連邦共和国",
"428":"ドイツ連邦共和国",
"429":"ドイツ連邦共和国",
"430":"ドイツ連邦共和国",
"431":"ドイツ連邦共和国",
"432":"ドイツ連邦共和国",
"433":"ドイツ連邦共和国",
"434":"ドイツ連邦共和国",
"435":"ドイツ連邦共和国",
"436":"ドイツ連邦共和国",
"437":"ドイツ連邦共和国",
"438":"ドイツ連邦共和国",
"439":"ドイツ連邦共和国",
"440":"ドイツ連邦共和国",
"45":"日本",
"49":"日本",
"460":"ロシア連邦",
"461":"ロシア連邦",
"462":"ロシア連邦",
"463":"ロシア連邦",
"464":"ロシア連邦",
"465":"ロシア連邦",
"466":"ロシア連邦",
"467":"ロシア連邦",
"468":"ロシア連邦",
"469":"ロシア連邦",
"470":"キルギスタン",
"471":"台湾",
"474":"エストニア",
"475":"ラトビア",
"476":"アゼルバイジャン",
"477":"リトアニア",
"478":"ウズベキスタン",
"479":"スリランカ",
"480":"フィリピン",
"481":"ベラルーシ",
"482":"ウクライナ",
"484":"モルドバ",
"485":"アルメニア",
"486":"グルジア共和国",
"487":"カザフスタン",
"489":"香港",
"50":"イギリス",
"520":"ギリシャ",
"528":"レバノン",
"529":"サイプラス",
"531":"マケドニア",
"535":"マルタ",
"539":"アイルランド",
"54":"ベルギー、ルクセンブルク",
"560":"ポルトガル",
"569":"アイスランド",
"57":"デンマーク",
"590":"ポーランド",
"594":"ルーマニア",
"599":"ハンガリー",
"600":"南アフリカ共和国",
"601":"南アフリカ共和国",
"608":"バーレーン",
"609":"モーリシャス",
"611":"モロッコ",
"613":"アルジェリア",
"616":"ケニア",
"619":"チュニジア",
"621":"シリア",
"622":"エジプト",
"624":"リビア",
"625":"ヨルダン",
"626":"イラン",
"627":"クウェート",
"628":"サウジアラビア",
"629":"アラブ首長国連邦",
"64":"フィンランド",
"690":"中華人民共和国",
"691":"中華人民共和国",
"692":"中華人民共和国",
"693":"中華人民共和国",
"694":"中華人民共和国",
"695":"中華人民共和国",
"70":"ノルウェー",
"729":"イスラエル",
"73":"スウェーデン",
"740":"グアテマラ",
"741":"エルサルバドル",
"742":"ホンジュラス",
"743":"ニカラグア",
"744":"コスタリカ",
"745":"パナマ",
"746":"ドミニカ共和国",
"750":"メキシコ",
"759":"ベネズエラ",
"76":"スイス、リヒテンシュタイン",
"770":"コロンビア",
"773":"ウルグアイ",
"775":"ペルー",
"777":"ボリビア",
"779":"アルゼンチン",
"780":"チリ",
"784":"パラグアイ",
"786":"エクアドル",
"789":"ブラジル",
"790":"ブラジル",
"80":"イタリア",
"81":"イタリア",
"82":"イタリア",
"83":"イタリア",
"84":"スペイン",
"850":"キューバ",
"858":"スロバキア",
"859":"チェコ",
"860":"ユーゴスラビア",
"867":"朝鮮民主主義人民共和国",
"869":"トルコ",
"87":"オランダ",
"880":"大韓民国",
"884":"カンボジア",
"885":"タイ王国",
"888":"シンガポール",
"890":"インド",
"893":"ベトナム",
"899":"インドネシア共和国",
"90":"オーストリア",
"91":"オーストリア",
"93":"オーストラリア",
"94":"ニュージーランド",
"955":"マレーシア",
"958":"マカオ",
"977":"定期刊行物",
"978":"書籍用",
"979":"書籍用",
"980":"返金受領書用",
"981":"ユーロ通貨クーポン用",
"982":"ユーロ通貨クーポン用",
"99":"クーポン用 "
} ;
return function(code) { return mapping[code] || '(unknown)';};
})();

function check(s){
message(code2name(s));
}
function message(s){
var n = 'msg20071216';
document.getElementById(n).innerHTML = s;
document.getElementById(n).style.color = "white"; document.getElementById(n).style.background = "#cc4444"; document.getElementById(n).align = "center";}</script>
<div id="msg20071216"></div>
<form name="f20071216">
<input type=text name="txt">
<input type=button value=OK onclick="check(document.forms.namedItem('f20071216').txt.value)">
</form>

: