그러냐

script 상에서 한글 길이 체크 본문

javascript

script 상에서 한글 길이 체크

관절분리 2016. 1. 27. 18:07
반응형
출처 내 마음속 이야기 | 칼의소리
원문 http://blog.naver.com/chang0c/120007516235

▣ 입력양식에서 문자열의 길이를 제한할 때는 흔히 maxlength를 사용하는데 이건 한글과 영문의 구별없이 무조건 글자 수를 제한하므로, 바이트 수를 제한하고자 할 때는 다른 방법을 써야 한다. 아래에 보인 방법은 textarea에서도 적용할 수 있다.

<XMP> 이렇게 함수를 정의해 두고 --> <form name=myform> < input name=myinput onkeyup=checklength(this,12)> < /form> < /XMP>

▣ 긴 문자열을 적당한 한도에서 잘라서 앞 부분만 보여주고자 할 때 역시 바이트 단위로 이를 수행하자면, 경계가 한글의 글자 내부에 위치하게 되는 것을 방지하기 위하여 약간의 작업이 필요하다. 아래에 PHP에서 이를 처리하는 법을 보였다.

<XMP>function check_bdry($str,$n){ // 긴 제목을 잘라서 제대로 보여주기 위함. mysubstr()의 서브루틴. if(($len=strlen($str)) <= $n) return 1; else{ $i = 0; while($i<$n){ if(ord(substr($str,$i))<256) $i +=1; else $i += 2; } } return ($i==$n ? 1 : 0); } function mysubstr($str,$n){ if(check_bdry($str,$n)) $vstr = substr($str,0,$n); else $vstr = substr($str,0,$n-1); if(strlen($str)>$n) $vstr .= ".."; return $vstr; }< /XMP>

 

반응형