<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!--
String.prototype.getByteLength=function(){return this.replace(/[^/x00-/xff]/g, "mm").length;};
function CutStrLength(str, Ilength)
{
var tmp = 0;
var len = 0;
var okLen = 0
for(var i=0;i<Ilength;i++)
{
if(str.charCodeAt(i)>255)
tmp += 2
else
len += 1
okLen += 1
if(tmp + len == Ilength)
{
return (str.substring(0,okLen));
break;
}
if(tmp + len > Ilength)
{
//return (str.substring(0,okLen - 1) + " ");
return (str.substring(0,okLen - 1));
break;
}
}
}
function checkFieldLength(fieldName,fieldDesc,fieldLength )
{
var str = document.getElementById(fieldName).value;
var theLen=0;
var teststr='';
for (i=0;i<str.length;i++)
{
teststr=str.charAt(i);
if(str.charCodeAt(i)>255)
theLen=theLen + 2;
else
theLen=theLen + 1;
}
document.getElementById('showMsg').innerText = theLen;
if( theLen>fieldLength )
{
document.getElementById('showMsg').innerText = fieldDesc;
//alert(fieldDesc+" 的字段长度超过规定长度!");
//document.getElementById(fieldName).focus();
document.getElementById(fieldName).value = CutStrLength(str, fieldLength);
return false;
}
else
{
return true;
}
}
//-->
</SCRIPT>
</HEAD>
<BODY>
<FORM METHOD=POST ACTION="">
<TEXTAREA ID="testArea" NAME="testArea" ROWS="3" COLS="22" οnkeyup="checkFieldLength('testArea', '超过允许输入的字符个数', 20);" οnchange="checkFieldLength('testArea', '超过允许输入的字符个数', 20);"></TEXTAREA>
<div id="testInfo">已经输入:<span id="showMsg"></span></div>
<INPUT TYPE="button" value="文字个数(一个中文2字符)" οnclick="alert(document.getElementById('testArea').value.getByteLength())">
</FORM>
</BODY>
</HTML>