Notice
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- roundcube
- php 취약점
- C# IO
- html5
- not working
- 자동 생성
- dovecot
- 자바스크립트
- mysql
- 설치
- WebView
- chart.js
- 안드로이드 푸쉬
- php 시큐어코딩
- 안드로이드
- UML
- Mail Server
- curl
- 우분투
- C#
- javascript
- xe
- 안드로이드 푸시
- soundpool
- PHP
- android 효과음
- Android
- 폼메일
- 안드로이드 gcm
- FCM
Archives
- Today
- Total
그러냐
script 상에서 한글 길이 체크 본문
반응형
▣ 입력양식에서 문자열의 길이를 제한할 때는 흔히 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>
반응형
'javascript' 카테고리의 다른 글
document.getElementByName is not a function (2) | 2016.01.27 |
---|---|
mediaplayer제어(Kim's JS에서 펌) (0) | 2016.01.27 |
입력박스(inputbox)에 숫자만 입력되도록.. (0) | 2016.01.27 |
input text 영어한글만 입력 (0) | 2016.01.27 |
wait 함수 (C++ 함수의 Sleep()과 같은 기능 ) (0) | 2016.01.27 |