문자 길이로 제한하는 경우
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title> sjisbmoc </title>
<script language=javascript>
<!--
function displayLeng( sz, id )
{
var form = document.form;
var obj = document.getElementById( id );
if (form[id].value.length > sz)
{
if (event.keyCode != '8') //백스페이스는 지우기작업시 바이트 체크하지 않기 위해서
{
alert( sz+'자까지 입력이 가능합니다.');
}
form[id].value = form[id].value.substring(0, sz);
}
document.getElementById(id+'_bytes').innerHTML = form[id].value.length+" 자";
}
//-->
</script>
</head>
<body>
<form name='form'>
<textarea id='chk1' name='chk1' onkeyup='displayLeng(30,"chk1");' cols='30' rows='10'></textarea>
<div name='chk1_bytes' id='chk1_bytes'></div>
</form>
</body>
</html>
바이트로 제한하는 경우
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title> sjisbmoc </title>
<script language=javascript>
<!--
function displayBytes( sz, id )
{
var form = document.form;
var obj = document.getElementById( id );
if (obj.value.bytes() > sz)
{ //80바이트를 넘기면
if (event.keyCode != '8') //백스페이스는 지우기작업시 바이트 체크하지 않기 위해서
{
alert( sz+'바이트까지 입력이 가능합니다.');
}
obj.value = obj.value.substring(0, obj.value.length-1);
}
eval('document.all.'+id+'_bytes').innerHTML = eval('form.'+id).value.bytes()+" byte";
}
String.prototype.bytes = function()
{
var str = this;
var l = 0;
for (var i=0; i<str.length; i++) l += (str.charCodeAt(i) > 128) ? 2 : 1;
return l;
}
//-->
</script>
</head>
<body>
<form name='form'>
<textarea id='chk1' name='chk1' onkeyup='displayBytes(30,"chk1");' cols='30' rows='10'></textarea>
<div name='chk1_bytes' id='chk1_bytes'></div>
</form>
</body>
</html>
'programming > javascript' 카테고리의 다른 글
파폭 한글 keyup 이벤트 먹이기(보류) (0) | 2012.05.04 |
---|---|
자바스크립트 키코드, 엘리먼트 객체 브라우져별 처리 (0) | 2012.05.03 |
lightbox2.0 익스플로러9에서 작동을 안한다. (0) | 2011.03.18 |
CKeditor + lightbox + 이미지 사이즈 제한 (0) | 2011.03.18 |
네이버에서 위치좌표로 날씨정보 가져오기 (0) | 2010.01.29 |