如何用js实现自动统计字符个数 <input onkeyup=document.getElementById('num').value=this.value.length><input name=num> 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <form method="post" name="form1"><input type="text" value="" name="in1" onkeypress="this.form.in2.value=this.value.length"><input type="text" value="0" name="in2"></form> <input onkeyup="document.getElementById('num').value=this.value.length" onpaste="document.getElementById('num').value=this.value.length" ondragenter="document.getElementById('num').value=this.value.length"><input name=num> 试试下面的,也许有帮助:)<html><head><title>Untitled Document</title><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><script>function caculate_length(check_area) //检测剩余可输入字符数 by space 2006-4-11 13:14{ var ShortCommodityName = document.MyForm.ShortCommodityName.value; var Ennum = 0; var Chnum = 0; newarry = ShortCommodityName.split(""); for(i = 0; i < newarry.length; i++) { if(ischinese(newarry[i])) { Chnum = parseInt(Chnum) + 2; } else { Ennum = parseInt(Ennum) + 1; } } var text_length = Chnum + Ennum; var text_max_length = 11; var target_div = document.getElementById("ShortCommodityName_length"); var text_remain = text_max_length - text_length; if ( text_length > 11 ) { var charsum = Chnum/2 + Ennum - 1 ; var text_remainstr = document.MyForm.ShortCommodityName.value.substring(charsum,11); document.MyForm.ShortCommodityName.value = document.MyForm.ShortCommodityName.value.replace(text_remainstr,''); } target_div.innerHTML = "<font color=#ff0000>已输入字符:"+text_length+",剩余字符数:"+text_remain+"</font>";}function ischinese(strword){ var newPar = /[^\u4E00-\u9FA5]/g return !newPar.test(strword);}function CheckStrLength(){ var ShortCommodityName = document.MyForm.ShortCommodityName.value; var Ennum = 0; var Chnum = 0; newarry = ShortCommodityName.split(""); for(i = 0; i < newarry.length; i++) { if(ischinese(newarry[i])) { Chnum = parseInt(Chnum) + 2; } else { Ennum = parseInt(Ennum) + 1; } } if( Ennum > 10 || Chnum > 10 || (Ennum+Chnum) > 10 ) { alert("你的字符终于超了"); return false; } return true;}</script></head><body bgcolor="#FFFFCC" text="#000000"><form name="MyForm" method="post" action="">文字:<input type="text" name="ShortCommodityName" onKeyUp="caculate_length('')"><br><div id="ShortCommodityName_length"><font color="#ff0000"> </font></div><br><input type="button" name="Submit" value="Submit" onClick="CheckStrLength()"><br></form></body></html> Chnum是中文字符数,Ennum是英文字符数 JS日期比较 求一跑马屏效果的思路,有代码更好。 Flot 如何固定X轴间距 flash中调用geturl成功率的问题 关于一个简体繁体转换的JS问题 window.close()在FF中不能执行? easyUI datagrid formatter自定义列 如何接受var a = "";传过来的数据? 关闭网页时,怎么让它不出现是否关闭的询问框啊? 网页中的元素放在不同的位置会有什么区别? AJAX应用需要组件技术作为支撑 求DOM中文参考手册!
<input type="text" value="" name="in1" onkeypress="this.form.in2.value=this.value.length">
<input type="text" value="0" name="in2">
</form>
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<script>function caculate_length(check_area) //检测剩余可输入字符数 by space 2006-4-11 13:14
{
var ShortCommodityName = document.MyForm.ShortCommodityName.value;
var Ennum = 0;
var Chnum = 0;
newarry = ShortCommodityName.split("");
for(i = 0; i < newarry.length; i++)
{
if(ischinese(newarry[i]))
{
Chnum = parseInt(Chnum) + 2;
}
else
{
Ennum = parseInt(Ennum) + 1;
}
}
var text_length = Chnum + Ennum;
var text_max_length = 11;
var target_div = document.getElementById("ShortCommodityName_length");
var text_remain = text_max_length - text_length;
if ( text_length > 11 ) {
var charsum = Chnum/2 + Ennum - 1 ;
var text_remainstr = document.MyForm.ShortCommodityName.value.substring(charsum,11);
document.MyForm.ShortCommodityName.value = document.MyForm.ShortCommodityName.value.replace(text_remainstr,'');
}
target_div.innerHTML = "<font color=#ff0000>已输入字符:"+text_length+",剩余字符数:"+text_remain+"</font>";
}function ischinese(strword)
{
var newPar = /[^\u4E00-\u9FA5]/g
return !newPar.test(strword);
}function CheckStrLength()
{
var ShortCommodityName = document.MyForm.ShortCommodityName.value;
var Ennum = 0;
var Chnum = 0;
newarry = ShortCommodityName.split("");
for(i = 0; i < newarry.length; i++)
{
if(ischinese(newarry[i]))
{
Chnum = parseInt(Chnum) + 2;
}
else
{
Ennum = parseInt(Ennum) + 1;
}
}
if( Ennum > 10 || Chnum > 10 || (Ennum+Chnum) > 10 )
{
alert("你的字符终于超了");
return false;
}
return true;
}
</script>
</head>
<body bgcolor="#FFFFCC" text="#000000">
<form name="MyForm" method="post" action="">
文字:<input type="text" name="ShortCommodityName" onKeyUp="caculate_length('')">
<br>
<div id="ShortCommodityName_length"><font color="#ff0000"> </font></div>
<br>
<input type="button" name="Submit" value="Submit" onClick="CheckStrLength()">
<br>
</form>
</body>
</html>