半角カナから全角カナへ変換する
説明
半角カナから全角カナに変換するには、あらかじめ半角カナ文字列と全角カナ文字列を用意しておき、先頭から1文字ずつ調べ置き換えます。
サンプルプログラム
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="ja">
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>Sample</title>
<link rel="stylesheet" href="css/main.css" type="text/css" media="all">
<script type="text/javascript" src="js/sample.js"></script>
</head>
<body>
<h1>半角カナから全角カナへ変換する</h1>
<form name="aForm" id="aForm" method="get" action="./regist.cgi">
変換前:<input type="text" size="16" name="kanaText" id="kanaText"><br>
変換後:<input type="text" size="16" name="result" id="result"><br>
<input type="button" value="変換" id="convertButton">
</form>
</body>
</html>
【スクリプト】
window.onload = function(){
document.getElementById("convertButton").onclick = function(){
var txt = document.getElementById("kanaText").value;
var convText = toZenkaku(txt);
document.getElementById("result").value = convText;
}
}
function toZenkaku(srcText){
var txt = "アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヲンァィゥェォャュョッ、。ー「」゙゚";
var zen = "アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヲンァィゥェォャュョッ、。ー「」";
zen+= " ガギグゲゴザジズゼゾダヂヅデド バビブベボ ";
zen+= " パピプペポ ";
var str = "";
for (var i=0; i<srcText.length; i++){
var c = srcText.charAt(i);
var cnext = srcText.charAt(i+1);
var n = txt.indexOf(c,0);
var nnext = txt.indexOf(cnext,0);
if (n >= 0){
if (nnext == 60){
c = zen.charAt(n+60);
i++;
}else if (nnext == 61){
c = zen.charAt(n+120);
i++;
}else{
c = zen.charAt(n);
}
}
if ((n != 60) && (n != 61)){
str += c;
}
}
return str;
}