求高手指导 把这个javascript统计字数改成汉字统计为2个字符 英文数字统计为1个字符

<SCRIPTlanguage="javascript"><!--functionchecktext(text){allValid=true;for(i=0;i<text... <SCRIPT language="javascript">
<!--
function checktext(text)
{
allValid = true;
for (i = 0; i < text.length; i++)
{
if (text.charAt(i) != " ")
{
allValid = false;
break;
}
}
return allValid;
}

function gbcount(message,total,used,remain)
{
var max;
max = total.value;
if (message.value.length > max) {
message.value = message.value.substring(0,max);
used.value = max;
remain.value = 0;
<!-- alert("留言不能超过 200 个字!");-->
alert("不能超过"+total.value+"个字!");
}
else {
used.value = message.value.length;
remain.value = max - used.value;
}
}

-->
</script>

<form method="post" >

<input name="title" type="text" id="title" value="" style="width:388px" onKeyDown="gbcount(this.form.title,this.form.total,this.form.shorttitle,this.form.remain);" onKeyUp="gbcount(this.form.title,this.form.total,this.form.shorttitle,this.form.remain);">
最多字数:
<input disabled maxLength="4" name="total" size="3" value="100" class="inputtext">
已用字数:
<input name="shorttitle" type="text" id="shorttitle" style="width:150px" value="">
剩余字数:
<input disabled maxLength="4" name="remain" size="3" value="10" class="inputtext">

</form>
展开
 我来答
jinyc007
2013-05-09 · TA获得超过934个赞
知道小有建树答主
回答量:398
采纳率:75%
帮助的人:477万
展开全部
xgc3098 是一种方法,我这里有另外一种方法,使用时,都是一样。如:value.getBytes() 或 value.charLength();

String.prototype.charLength=function(){
var _str=this.replace(/[\x01-\xff]/ig, ''), _len=_str.length;
return this.length + _len;
}
【使用】
假设有这样子的一个文本框:
<textarea id="content" onkeyup="getLength();"></textarea><span id="count"></span>
<script>
String.prototype.charLength=function(){
var _str=this.replace(/[\x01-\xff]/ig, ''), _len=_str.length;
return this.length + _len;
}
function getLength(){
var c=document.getElementById('content');
document.getElementById('count').innerHTML=c.value.charLength();
}
</script>
百度网友946507c
2013-05-08 · TA获得超过195个赞
知道答主
回答量:77
采纳率:0%
帮助的人:47.1万
展开全部
用正则表达式,判断字符编码中哪些是汉字字符;属于汉字的,长度都加一倍.
String.prototype.getBytes = function () {
var cArr = this.match(/[^\x00-\xff]/ig);
return this.length + (cArr == null ? 0 : cArr.length);
};
追问
能说一下具体怎么改么 谢谢!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式