87,910
社区成员
发帖
与我相关
我的任务
分享
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title> New Document </title>
<meta name="Generator" content="EditPlus">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
<script language="JavaScript">
<!--
String.prototype.ansiLength = function()
{
var nl = this.length;
var al = nl;
for (var i = 0; i < nl; i++)
{
if (this.charCodeAt(i) > 127)
{
al = al + 1;
}
}
return al;
}
function keyd(obj)
{
var nKeyCode = event.keyCode;
if (event.ctrlKey || nKeyCode==8 || nKeyCode==46 || nKeyCode==37 || nKeyCode==38 || nKeyCode==39 || nKeyCode==40) return true;
var rng = document.selection.createRange();
var nLeft = 50 - obj.value.ansiLength() + rng.text.ansiLength();
if (nLeft<=0) return false;
return true;
}
function valuefix(obj)
{
if ((event.propertyName == "value")&&(obj.value.ansiLength() > 50))
{
obj.value = SubAnsiStr(obj.value,50);
}
}
function SubAnsiStr(str,i)
{
if (i <= 0) return '';
var iCount = 0;
var sReturn = '';
for (var j = 0; j < str.length; j++)
{
if ((str.charCodeAt(j) >= 32) && (str.charCodeAt(j) <= 126))
{
if ((i - iCount) == 0) return sReturn;
sReturn += str.charAt(j);
iCount++;
}
else if ((str.charCodeAt(j) == 13)||(str.charCodeAt(j+1) == 10))
{
if ((i - iCount) <= 1) return sReturn;
sReturn += str.charAt(j);
sReturn += str.charAt(j+1);
iCount = iCount + 2;
j++;
}
else
{
if ((i - iCount) <= 1) return sReturn;
sReturn += str.charAt(j);
iCount = iCount + 2;
}
}
return sReturn;
}
//-->
</script>
</head>
<body>
<textarea style="width:150px;height:70px" onpropertychange="return valuefix(this);" onkeydown="return keyd(this);" ></textarea>
<input onpropertychange="return valuefix(this);" onkeydown="return keyd(this);" ></input>
</body>
</html>