跳转到内容


javascript 计算文本框中文英文文字长度

javascript 计算 文本框 长度

1 reply to this topic

#1 冰力

    Administrator

  • 总版主
  • 1316 帖子数:

发表于 2012/01/31 23:53:09

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>javascript 计算文本框文字长度</title>
<script type="text/javascript">
/**
* 把中文字符替换两个星号,可以用来计算中文字符串的长度。
*/
String.prototype.len=function(){
return this.replace(/[^\x00-\xff]/g,"**").length;
}
/**
* 计算文字长度。
* param1 要计算的文本框ID,<input id="xxxx">----必需
* param2 要限制的文字长度,数值----必需
* param3 剩余几个字符串的span的id,<span id="zzzzz">
*/
function checkContentLength(){
var content = document.getElementById(arguments[0]);
var length=50;
  if(arguments.length==3){
  length=arguments[1];
  var message = document.getElementById(arguments[2]);
  var l=length-content.value.len();
  if(l<0){
   l=0;
  }
  message.innerHTML="剩余"+l+"字";
}else if(arguments.length==2){
  length=arguments[1];
}
if(content.value.len()>length){
  alert("您输入的文字长度已超过限制,请酌情删减!");
}
}
</script>
</head>
<body>
<textarea cols="50" rows="5" id="content" onkeypress="checkContentLength('content',30,'message')"></textarea><span id="message"></span>
</body>
</html>


#2 iceqi

    新手上路

  • 注册用户
  • 点子
  • 9 帖子数:

发表于 2012/03/04 21:44:11

修正版!

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>javascript 计算文本框文字长度</title>
<script type="text/javascript">
String.prototype.len = function(){
    return this.replace(/[^\x00-\xff]/gi, "--").length;
}

function checkContentLength(){
var content = document.getElementById(arguments[0]);
var length=50;
  if(arguments.length==3){
  length=arguments[1];
  var message = document.getElementById(arguments[2]);
  var l=length-content.value.len();
  if(l<0){
   l=0;
  }
  message.innerHTML="剩余"+l+"字";
}else if(arguments.length==2){
  length=arguments[1];
}
if(content.value.len()>length){
  alert("您输入的文字长度已超过限制,请酌情删减!");
}
}
</script>
</head>
<body>
<textarea cols="50" rows="5" id="content" oninput="checkContentLength('content', 30, 'message')" onpropertychange="checkContentLength('content', 30, 'message')"></textarea><span id="message"></span>
</body>
</html>