星期二, 十月 09, 2007

JavaScript で日本語文字を1つづつ切り出す

<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html;CHARSET=x-sjis">
<TITLE>文字の切り出し練習</TITLE>
<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
<!--
function cutLetter(targetstring,targetindex,targetlength){
var i = 0;
var j = 0;
var k = 0;
var l = '漢';

var targetstring = document.myform.txt1.value;
var targetindex = parseInt(document.myform.txt2.value);
var targetlength = parseInt(document.myform.txt3.value);

if (l.length == 2){
j = 0;
for (i=0;i<targetindex;i++){
l = escape(targetstring.substring(j,j+1)).substring(1,2);
if (l=='8'||l=='9'||l=='E'||l=='F')
j += 2;
else
j += 1;
}
k = j;
for (i=0;i<targetlength;i++){
l = escape(targetstring.substring(k,k+1)).substring(1,2);
if (l=='8'||l=='9'||l=='E'||l=='F')
k += 2;
else
k += 1;
}
} else {
j = targetindex;
k = parseInt(targetindex) + parseInt(targetlength);
}
l = targetstring.substring(j,k);
document.myform.txt4.value = l;
return false;
}
//-->
</SCRIPT>
</HEAD>
<BODY>
<FORM name="myform">
<H1>文字の切り出し練習</H1>
 文字列:<INPUT type="text" name="txt1" value="" size=70 maxlength="256"><BR>
 切り出し開始位置:<INPUT type="text" name="txt2" value="0" size=5 maxlength=5> 
 切り出し文字数:<INPUT type="text" name="txt3" value="1" size=5 maxlength=5>
 <INPUT type="button" name="btn1" value="実行" onClick="cutLetter()"><BR><BR>
 ===> 切り出し文字列:<INPUT type="text" name="txt4" value="" size=70 maxlength="256">
</FORM>
</BODY>
</HTML>