전각이 2바이트라는것에 착안하여 2바이트 이하면 반각으로 판별...
여기에 charAt(), escape()라는게 쓰였는데 charAt()는문자열에 숫자로 인덱스를 지정하면 문자가 나오고 escape()로 유니코드 형식으로 변환...
//全角チェック--------------------------------Start
function charChk( char ){
var t;
var msglen = 0;
var len = char.value.length;
for(k=0;k<len;k++){
t = char.value.charAt(k);
if (escape(t).length > 4){
msglen += 2;
} else {
msglen++;
}
}
if(len*2 != msglen){
char.focus();
itemChkFlg = true;
alert("全角のみ入力できます。");
}
}
//全角チェック--------------------------------End
//全角チェックAll-----------------------------Start
function charChkAll( objForm ){
var fLength = objForm.length;
for(i=0; i<fLength; i++){
var len = objForm[i].value.length;
var t;
var msglen = 0;
obj = objForm[i].chk;
if(obj != undefined && obj.indexOf("C") >= 0){
for(k=0;k<len;k++){
t = objForm[i].value.charAt(k);
if (escape(t).length > 4){
msglen += 2;
} else {
msglen++;
}
}
if(len*2 != msglen){
objForm[i].focus();
itemChkFlg = true;
alert("全角のみ入力できます。");
return;
}
}
}
}
//全角チェックAll-----------------------------End
