效果:例如你输入的为"你们好好好好",截取之后是"你们好好好",数字和字母就直接是10位了,如果是"你们好11111111",截取之后是"你们好1111",希望对大家有帮助。。。
<script type="text/javascript">
function Count(text, long) {
var strlen="";
var str = document.getElementById('TextBox1').value;
var realLength = 0, len = str.length, charCode = -1;
for (var i = 0; i < len; i++) {
charCode = str.charCodeAt(i);
if (charCode >= 0 && charCode <= 128) realLength += 1;
else
realLength += 2;
}
var maxlength = new Number(long); // Change number to your max length.
if (realLength > maxlength) {
for (var i = 0; i <len; i++) {
strleg=str.substring(0,i);
for(var j=0;j<=10;j++)
{
charCode1 = strleg.charCodeAt(j);
if (charCode1 >= 0 && charCode1 <= 128)
j += 1;
else
j += 2;
}
if(j==Number(10))break;
}
text.value =strleg; //text.value.substring(0, maxlength);
alert(maxlength);
}
}
</script>
<body>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="TextBox1" runat="server" onKeyUp="javascript:Count(this,10);" onChange="javascript:Count(this,10);"></asp:TextBox>
</div>
</form>
</body>