【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード

Javascriptの初心者です。フォームのtext入力で半角文字だけを入力できるようにしたいのですが、webから入手したサンプルソースで理解できない部分があります。以下のソース(抜粋)で、"%nFF"と"0xFF60"とは何を示しているのでしょうか。尚、変数doreに入っているのはescape()された値です。

if(dore.indexOf("%uFF") != -1 && '0x' + dore.substring(2 , dore.length) < 0xFF60)kekka++;
else if(data[i].match(/\W/g) != null && dore.length == 6)kekka++;

A 回答 (1件)

ユニコードの0xFF00~0xFF5F(全角英文字+記号)に該当するかってところみたいですが、



例えば、以下みたいなかんじでどうですか?
もうちょっと絞った方がいいですが・
<script type="text/javascript">
<!--
function hanCheck(txt){
var str=txt.value;
for(i=0;i<str.length;i++){
if(str.charCodeAt(i)>255){
alert("半角でない文字が含まれる");
}
}
}
//-->
</script>
<form name="FORM1">
<input name="TEXT" type="text" value="" size="20" onchange="return hanCheck(this)">
</form>

この回答への補足

ご回答ありがとうございます。indexOf("%uFF") のところで、「%uFF」が何を示しているのかが分かりません。ネットで検索しているのですが手がかりがつかめません。日本語文字列をescape()でLitin1コードに変換すると、最初にくるコードのようなのですが。

補足日時:2005/10/12 21:31
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!