textarea控制字符数(中英文混杂)
作者: 文章来源:
发布日期:2007年04月24日 浏览次数:12次
功能:
1.能够实时判断输入的字节数
2.能够自动裁减超过最大长度后的内容
3.对粘贴进来的内容一样有效
4.对用鼠标拖曳进来的内容也一样有效
5.正则表达式的应用和程序的构想
源码:
<script>
function checklen(obj){
var lenE = obj.value.length;
var lenC = 0;
var CJK = obj.value.match(/[u4E00-u9FA5uF900-uFA2D]/g);
if (CJK != null) lenC += CJK.length;
tno.innerText = obj.maxlength - lenC - lenE ;
if (tno.innerText < 0) {
var tmp = 0
var cut = obj.value.substring(0, obj.maxlength);
for (var i=0; i<cut.length; i++){
tmp += /[u4E00-u9FA5uF900-uFA2D]/.test(cut.charAt(i)) ? 2 : 1;
if (tmp > obj.maxlength) break;
}
obj.value = cut.substring(0, i);
}
}
</script>
<body onload="tno.innerText = s1.maxlength;">
<textarea name="s1" rows="5" cols="50" maxlength="1000" onpropertychange="checklen(this)"></textarea>
剩余<span id="tno"></span>个字符