한글 포함한 문자열에서 문자열의 길이를 반환

· 13년 전 · 1499
<input type='text' name='str' maxlength='30'>
위와 같이 입력을 받는 경우에 한글을 포함한 경우에
미처 생각지도 못한 경우가 발생하더군요.

입력값이 "한 글" ==> 인경우 저는 문자열의 길이가 5일거라고 생각을 하고 확인도 하지 않고
maxlength 속성을 사용했었는데...
window.alert(form.str.value.length)이렇게 해서 확인해 보면 문자열의 길이가 3이더군요.

위와 같은 경우 디비에 입력할때 컬럼의 속성이 varchar(3)이라고 하면 maxlength속성만
믿고 그대로 사용한다면 재앙(?)이 발생합니다... -,.-;;

그래서 한글을 포함한 문자열의 길이를 확인하는 자바스크립트 함수를 만들었습니다.



// 한글을 포함한 문자열에서 문자열의 길이를 반환한다.
function strlen(str)
{
var len = str.length;
var han = 0;
var res = 0;

for(i=0;i<len;i++) {
var a=str.charCodeAt(i);
if(a>128)
han++;
}
res = (len-han) + (han*2);

return res;
}
|
댓글을 작성하시려면 로그인이 필요합니다.

프로그램

+
제목 글쓴이 날짜 조회
13년 전 조회 1,098
13년 전 조회 1,882
13년 전 조회 1,712
13년 전 조회 1,432
13년 전 조회 1,634
13년 전 조회 3,790
13년 전 조회 895
13년 전 조회 1,786
13년 전 조회 1,600
13년 전 조회 753
13년 전 조회 889
13년 전 조회 764
13년 전 조회 8,497
13년 전 조회 980
13년 전 조회 1,790
13년 전 조회 1,454
13년 전 조회 881
13년 전 조회 626
13년 전 조회 3,845
13년 전 조회 670
13년 전 조회 828
13년 전 조회 1,882
13년 전 조회 1,386
13년 전 조회 1,416
13년 전 조회 1,128
13년 전 조회 1,079
13년 전 조회 834
13년 전 조회 1,378
13년 전 조회 981
13년 전 조회 1,813
13년 전 조회 1,155
13년 전 조회 2,833
13년 전 조회 691
13년 전 조회 2,357
13년 전 조회 2,754
13년 전 조회 4,516
13년 전 조회 1,080
13년 전 조회 1,296
13년 전 조회 1,492
13년 전 조회 1,293
13년 전 조회 1,303
13년 전 조회 2,968
13년 전 조회 1,387
13년 전 조회 1,144
13년 전 조회 1,270
13년 전 조회 1,259
13년 전 조회 955
13년 전 조회 1,835
13년 전 조회 2,222
13년 전 조회 1,500
13년 전 조회 1,088
13년 전 조회 1,079
13년 전 조회 958
13년 전 조회 1,686
13년 전 조회 2,722
13년 전 조회 1,438
13년 전 조회 1,725
13년 전 조회 1,243
13년 전 조회 1,268
13년 전 조회 1,474
13년 전 조회 997
13년 전 조회 967
13년 전 조회 988
13년 전 조회 1,314
13년 전 조회 1,381
13년 전 조회 1,138
13년 전 조회 911
13년 전 조회 1,174
13년 전 조회 1,139
13년 전 조회 1,052
13년 전 조회 1,164
13년 전 조회 1,056
13년 전 조회 1,372
13년 전 조회 1,133
13년 전 조회 1,263
13년 전 조회 1,775
13년 전 조회 708
13년 전 조회 3,041
13년 전 조회 756
13년 전 조회 955
13년 전 조회 740
13년 전 조회 1,121
13년 전 조회 1,063
13년 전 조회 1,321
13년 전 조회 847
13년 전 조회 1,906
13년 전 조회 1,548
13년 전 조회 1,132
13년 전 조회 6,825
13년 전 조회 734
13년 전 조회 1,100
13년 전 조회 931
13년 전 조회 1,092
13년 전 조회 1,376
13년 전 조회 965
13년 전 조회 1,234
13년 전 조회 809
13년 전 조회 836
13년 전 조회 1,363
13년 전 조회 3,236