웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
변수의 실제 바이트 수를 리턴하는 팁
2003.08.29 00:11
제가 자바스크립트에서 실제 바이트 수를 리턴하는 방법을
찾다가 결국 만들어버렸습니다.
함수의 값이 한글이든 영문이든 무조건 실제 바이트를 리넡.
"대한민국"은 문자열의 길이가 4 이지만 바이트는 4 바이트겠죠.
아무튼 회원가입시 아이디의 길이 체크에 유용할 거예요.
function bytelength(bstr)
{
len = bstr.length;
for (ii=0; ii<bstr.length; ii++)
{
xx = bstr.substr(ii,1).charCodeAt(0);
if (xx > 127) { len++; }
}
return len;
}
찾다가 결국 만들어버렸습니다.
함수의 값이 한글이든 영문이든 무조건 실제 바이트를 리넡.
"대한민국"은 문자열의 길이가 4 이지만 바이트는 4 바이트겠죠.
아무튼 회원가입시 아이디의 길이 체크에 유용할 거예요.
function bytelength(bstr)
{
len = bstr.length;
for (ii=0; ii<bstr.length; ii++)
{
xx = bstr.substr(ii,1).charCodeAt(0);
if (xx > 127) { len++; }
}
return len;
}
댓글 2
-
lyx
2003.09.27 19:16
-
김상석
2003.10.06 20:06
제가 예전에 쓸라고 만들어 본것......
다음카페에 꼬리말기능에 있는것을 쓰기편하게 수정했습니다...
필요하신분 가져다 쓰세요.......^^
leng_chk(field,maxlimit) => field : 체크할 폼명과변수명 maxlimit => 제한할 바이트
<script>
function leng_chk(field, maxlimit)
{
// field = 확인할 변수(?)명...
// maxlimit = 제한할 글자수(byte)
//alert(field.value);
if(event.keyCode == "13" || event.keyCode == "37" || event.keyCode == "38"|| event.keyCode == "39" || event.keyCode == "40" ){return;}
else
{
rtn_value = calculate_msglen(field);
if (rtn_value > maxlimit)
{
field_len = field.value.length;
alert("최대입력영역("+maxlimit+"byte)초과");
return_value = assert_msglen(field , maxlimit);
field.value=return_value;
}
}
}
function calculate_msglen(field)
{
var nbytes = 0;
var message = field.value;
for (i=0; i<message.length; i++)
{
var ch = message.charAt(i);
if(escape(ch).length > 4){nbytes += 2;}
else if (ch == 'n')
{
if (message.charAt(i-1) != 'r') {nbytes += 1;}
}
else if (ch == '<' || ch == '>') {nbytes += 4;}
else {nbytes += 1;}
}
return nbytes;
}
function assert_msglen(field, maximum)
{
var inc = 0;
var nbytes = 0;
var msg = "";
var message = field.value;
var msglen = message.length;
for (i=0; i<msglen; i++)
{
var ch = message.charAt(i);
if (escape(ch).length > 4){inc = 2;}
else if (ch == 'n')
{
if (message.charAt(i-1) != 'r') {inc = 1;}
}
else if (ch == '<' || ch == '>'){inc = 4;}
else {inc = 1;}
if ((nbytes + inc) > maximum){break;}
nbytes += inc;
msg += ch;
}
return msg;
}
</script>
<form name='input_form'>
<input type='text' name='a' onKeyup="leng_chk(input_form.a,5)"><br>
<textarea name='aa' rows='5' cols='65' onKeyup="leng_chk('input_form.aa',500)"></textarea>
</form>
제목 | 글쓴이 | 날짜 |
---|---|---|
[초간단 자바스크립트(강의)!] 버튼을 눌러서 배경색 바꾸기 [5] | ∑Ztxy | 2003.09.26 |
[초간단 자바스크립트!] 이미지에 스포트라이트 효과주기... [1] | ∑Ztxy | 2003.09.26 |
[초간단 자바스크립트!] 뒤로,앞으로,중지,홈으로 버튼 만들기... [7] | ∑Ztxy | 2003.09.26 |
[초간단 자바스크립트!] 창 이동시 경고 메세지 띄우기...!;;; [2] | ∑Ztxy | 2003.09.26 |
플레쉬 메뉴를 표방한..=ㅁ= 자바스크립트의 수작 버튼 밑으로 스크롤 되는 아이콘입니다. [47] | beMax | 2003.09.14 |
### MSN/Windows Messenger용 친구 추가스크립트 ### [10] | 웹스 | 2003.09.05 |
변수란? [1] | 타키 | 2003.09.04 |
진수란? [4] | 타키 | 2003.09.04 |
홈에 TT WEB FTP 달기 [12] | PHASE | 2003.09.03 |
frame으로 홈페이지 구성시 한쪽 페이지는 유동성있는 파일 대입법(?) | monozzang | 2003.09.02 |
주어진 값이 한글,영어,숫자인지 체크 [2] | 한승진 | 2003.08.29 |
전화번호 유효성 검사(핸폰,집전화 몽땅) [4] | 한승진 | 2003.08.29 |
변수에서 숫자만 리턴합니다. | 한승진 | 2003.08.29 |
변수의 실제 바이트 수를 리턴하는 팁 [2] | 한승진 | 2003.08.29 |
메인 접속하면 할아버지 나오는... [6] | 공유 | 2003.08.28 |
마우스 움직임에 따라 속도도, 방향도 자유자재 스크롤 소스 [1] | RedEye(kaist) | 2003.08.24 |
경우에 따라 공지가 새창에서도 보여야 하고, 일반 페이지에서도 보여야 할때 | 조은하루 | 2003.08.22 |
[수정]롤오버 메뉴에 하위 부메뉴 레이어..(아웃시 하위메뉴사라짐) [24] | 미니 | 2003.08.18 |
재미있는놀이 [ 숫자맞추기] [3] | NzeoZen | 2003.08.16 |
배경도 이제 선택한다!!? [2] | NzeoZen | 2003.08.16 |
실제 글자수 리턴하기? 이정도가 맞겠죠..
대한민국 -> 8바이트입니다.