趁我写例子这点时间有两个人回答了 呵呵
刚才试验过了 看下例子吧
js 方法:
<script type="text/javascript"> <br>// 得到字符串的真实长度(双字节换算为两个单字节) <br>function getStrActualLen(sChars) <br>{ <br>//sChars.replace(/[^\x00-\xff]/g,"xx").length/1024+"字节"; <br>//Math.round(sChars.replace(/[^\x00-\xff]/g,"xx").length/1024);这个貌似不好使 <br>return alert(formatNum(sChars.replace(/[^\x00-\xff]/g,"xx").length/1024,4)); <br>} <br>//格式化小数,并四舍五入。如:formatNum(100.12345678,4) <br>function formatNum(Num1,Num2){ <br>if(isNaN(Num1)||isNaN(Num2)){ <br>return(0); <br>}else{ <br>Num1=Num1.toString(); <br>Num2=parseInt(Num2); <br>if(Num1.indexOf('.')==-1){ <br>return(Num1); <br>}else{ <br>var b=Num1.substring(0,Num1.indexOf('.')+Num2+1); <br>var c=Num1.substring(Num1.indexOf('.')+Num2+1,Num1.indexOf('.')+Num2+2); <br>if(c==""){ <br>return(b); <br>}else{ <br>if(parseInt(c)<5){ <br>return(b); <br>}else{ <br>return((Math.round(parseFloat(b)*Math.pow(10,Num2))+Math.round(parseFloat(Math.pow(0.1,Num2).toString().substring(0,Math.pow(0.1,Num2).toString().indexOf('.')+Num2+1))*Math.pow(10,Num2)))/Math.pow(10,Num2)); <br>} <br>} <br>} <br>} <br>} <br></script>
Jquery方法:
function getStrActualLen(){
var count=$("#sChars").val().length/1024;
return Math.round(count*Math.pow(10,4));
}
jquery 截取字符串长度
jquery 可以用text()方法来取得字符串,再用length 判断长度,然后用substring()方法格式化截断后加'...'省略号。
<script src="http://img.jb51.net/jslib/jquery/jquery-1.3.2.min.js" type="text/javascript"></script>










