[JavaScript] escape()
해당 문자의 16진수값을 찾는다.
<script>
var str = "아f?' ";
var esc = "";
for(var i=0; i < str.length; i++) {
esc = "%"+(escape(str.charAt(i)).match(/%u/g)?"u":"")+str.charCodeAt(i).toString(16).toUpperCase();
document.write("<br>" +i+"=========================="
+"<br>원래문자 : "+str.charAt(i)
+"<br>escape문자: "+esc
+"<br>다시원래대로:"+unescape(esc));
}
</script>
문자열의 Length 체크시 활용 할 수 있음.
function CheckStrLen(maxlen,field) {
var temp; //들어오는 문자값...
var msglen;
msglen = maxlen*2;
var value= field.value;
l = field.value.length;
tmpstr = "" ;
if (l == 0) {
value = maxlen*2;
}else {
for(k=0;k<l;k++) {
temp =value.charAt(k);
if (escape(temp).length > 4) { //한글
msglen -= 2;
}else { //영문
msglen--;
}
if(msglen < 0) {
alert("총 영문 "+(maxlen*2)+"자 한글 " + maxlen + "자 까지 보내실수 있습니다.");
field.value= tmpstr;
break;
}else {
tmpstr += temp;
}
}
}
}