仅仅是把我项目中的代码考出来,有些地方还要完善,比如txtShare的onkeyup可以也用jq来实现。
<div id="sharePnl" style="display:none">
<table width="100%">
<tr>
<td>
<textarea id="txtShare" style="width:550px;height:60px" οnkeyup="checkWords('txtShare')" ></textarea>
</td>
</tr>
<tr>
<td id="txtLen" flag="1">
还能输入 <em>120</em> 字
</td>
</tr>
</table>
</div>
// 字符串长度
function smartLen(str) {
str = str.replace(/(^[\s\n]+)|([\s\n]+$)/,"").replace(/[\s\n]+/g," ");
str = str.replace(new RegExp("((news|telnet|nttp|file|http|ftp|https)://){1}(([-A-Za-z0-9]+(\\.[-A-Za-z0-9]+)*(\\.[-A-Za-z0-9]{2,}))|([0-9]{1,3}(\\.[0-9]{1,3}){3}))(:[0-9]*)?(/[-A-Za-z0-9_\\$\\.\\+\\!\\*\\(\\),;:@&=\\?/~\\#\\%]*)*", "gi"), new Array(12).join("aa"));
return Math.ceil(($.trim(str.replace(/[^\u0000-\u00ff]/g, "aa")).length) / 2);
}
// 内容长度判断
function checkWords(tid) {
var $content = $('#' + tid),l=120 - smartLen($content.val());
if (l < 0) {
$('#txtLen').html('超出 <em style="color:#E56C0A">' + (-l) + '</em> 字');
$('#txtLen').attr("flag" , 0);
} else {
$('#txtLen').html('还能输入 <em>' + l + '</em> 字');
$('#txtLen').attr("flag" , 1);
}
}