<!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>


1 reply to this topic
#1
发表于 2012/01/31 23:53:09
#2
发表于 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>