以下是 js text文本框字数限制特效代码 的示例演示效果:
部分效果截图:
HTML代码(index.html):
<!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>js text文本框字数限制</title>
</head>
<body>
<style type="text/css">
*{margin:0;padding:0;list-style-type:none;}
a,img{border:0;text-decoration:none;}
/* Form */
.Form{margin:20px auto;width:600px;}
.Form textarea{
display:inline-block;padding:6px 12px;font-size:18px;font-weight:300;line-height:1.4;color:#221919;background:#fff;border:1px solid #a4a2a2;resize:none;
box-sizing:border-box;
-moz-box-sizing:border-box;
-ms-box-sizing:border-box;
-webkit-box-sizing:border-box;
border-radius:6px;
-moz-border-radius:6px;
-webkit-border-radius:6px;
box-shadow:inset 0 1px rgba(34,25,25,.15),0 1px rgba(255,255,255,.8);
-moz-box-shadow:inset 0 1px rgba(34,25,25,.15),0 1px rgba(255,255,255,.8);
-webkit-box-shadow:inset 0 1px rgba(34,25,25,.15),0 1px rgba(255,255,255,.8);
-webkit-transition:all .08s ease-in-out;
-moz-transition:all .08s ease-in-out;
}
.Form textarea{min-height:90px;}
.Form textarea:focus{
border-color:#006499;
box-shadow:0 1px rgba(34, 25, 25, 0.15) inset, 0 1px rgba(255, 255, 255, 0.8), 0 0 14px rgba(82, 162, 235, 0.35);
-moz-box-shadow:0 1px rgba(34, 25, 25, 0.15) inset, 0 1px rgba(255, 255, 255, 0.8), 0 0 14px rgba(82, 162, 235, 0.35);
-webkit-box-shadow:0 1px rgba(34, 25, 25, 0.15) inset, 0 1px rgba(255, 255, 255, 0.8), 0 0 14px rgba(82, 162, 235, 0.35);
}
/* Button base */
.Button{
position:relative;
display:inline-block;
padding:.45em .825em .45em;
text-align:center;
line-height:1em;
border:1px solid transparent;
cursor:pointer;
border-radius:.3em;
-moz-border-radius:.3em;
-webkit-border-radius:.3em;
-moz-transition-property:color, -moz-box-shadow, text-shadow;
-moz-transition-duration:.05s;
-moz-transition-timing-function:ease-in-out;
-webkit-transition-property:color, -webkit-box-shadow, text-shadow;
-webkit-transition-duration:.05s;
-webkit-transition-timing-function:ease-in-out;
box-shadow:0 1px rgba(255,255,255,0.8), inset 0 1px rgba(255,255,255,0.35);
-moz-box-shadow:0 1px rgba(255,255,255,0.8), inset 0 1px rgba(255,255,255,0.35);
-webkit-box-shadow:0 1px rgba(255,255,255,0.8), inset 0 1px rgba(255,255,255,0.35);
}
.Button:hover {text-decoration:none;}
.Button strong {position:relative; z-index:2;}
.Button{
display:block;border:1px solid;opacity:1;
border-radius:.3em;
-moz-border-radius:.3em;
-webkit-border-radius:.3em;
box-shadow:inset 0 1px rgba(255,255,255,0.35);
-moz-box-shadow:inset 0 1px rgba(255,255,255,0.35);
-webkit-box-shadow:inset 0 1px rgba(255,255,255,0.35);
-moz-transition-property:opacity;
-moz-transition-duration:0.5s;
-moz-transition-timing-function:ease-in-out;
-webkit-transition-property:opacity;
-webkit-transition-duration:0.5s;
-webkit-transition-timing-function:ease-in-out;
}
.Button:hover span{
-moz-transition-property:opacity;
-moz-transition-duration:0.05s;
-moz-transition-timing-function:linear;
-webkit-transition-property:opacity;
-webkit-transition-duration:0.05s;
-webkit-transition-timing-function:linear;
}
.Button:active span{
-moz-transition:none;
-webkit-transition:none;
}
/* blue Button */
.blueButton{color:#fcf9f9; text-shadow:0 -1px rgba(34,25,25,0.5);}
.blueButton:hover {color:#fff; text-shadow:0 -1px rgba(34,25,25,0.3);}
.blueButton:active {color:#f2f0f0; text-shadow:0 -1px rgba(34,25,25,0.6);}
.blueButton{
border-color:#015E91;
background-color:#3693D5;
background:-moz-linear-gradient(center top , #54B1EB, #47A0E0 50%, #419FE1 50%, #3683D5);
background:-o-linear-gradient(top left, #54B1EB, #47A0E0 50%, #419FE1 50%, #3683D5);
background:-webkit-gradient(linear, 0% 0%, 0% 100%, from(#54B1EB), to(#47A0E0), color-stop(.5,#419FE1),color-stop(.5,#3683D5));
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#54B1EB', endColorstr='#3683D5');
}
.blueButton:hover{
border-color:#0366AD;
background-color:#3EA1D6;
background:-moz-linear-gradient(center top, #5EB4EA, #61A1EE 50%, #59A5EB 50%, #3691E6);
background:-o-linear-gradient(top left, #5EB4EA, #61A1EE 50%, #59A5EB 50%, #3691E6);
background:-webkit-gradient(linear, 0% 0%, 0% 100%, from(#5EB4EA), to(#61A1EE), color-stop(.5,#59A5EB),color-stop(.5,#3691E6));
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#5EB4EA', endColorstr='#3691E6');
}
.blueButton:active{
border-color:#013B6A;
background-color:#3089C8;
background:-moz-linear-gradient(center top, #4B9CDD, #4189D5 50%, #3D8BD3 50%, #3093C8);
background:-o-linear-gradient(top left, #4B9CDD, #4189D5 50%, #3D8BD3 50%, #3093C8);
background:-webkit-gradient(linear, 0% 0%, 0% 100%, from(#4B9CDD), to(#4189D5), color-stop(.5,#3D8BD3),color-stop(.5,#3093C8));
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#4B9CDD', endColorstr='#3093C8');
}
.blueButton.Button18:hover{
box-shadow:0 1px rgba(255, 255, 255, 0.8), 0 1px rgba(255, 255, 255, 0.35) inset, 0 0 10px rgba(82, 162, 235, 0.25);
-moz-box-shadow:0 1px rgba(255, 255, 255, 0.8), 0 1px rgba(255, 255, 255, 0.35) inset, 0 0 10px rgba(82, 162, 235, 0.25);
-webkit-box-shadow:0 1px rgba(255, 255, 255, 0.8), 0 1px rgba(255, 255, 255, 0.35) inset, 0 0 10px rgba(82, 162, 235, 0.25);
}
.blueButton.Button18:active{
box-shadow:0 1px 2px rgba(34, 25, 25, 0.25) inset, 0 0 3px rgba(82, 202, 235, 0.35);
-moz-box-shadow:0 1px 2px rgba(34, 25, 25, 0.25) inset, 0 0 3px rgba(82, 202, 235, 0.35);
-webkit-box-shadow:0 1px 2px rgba(34, 25, 25, 0.25) inset, 0 0 3px rgba(82, 202, 235, 0.35);
}
/* wordage */
.wordage{text-align:right;font-size:14px;color:#5e5e5e;margin:0 0 0 20px;}
</style>
<form name id action class="Form">
<textarea id="TextArea1" onkeyup="checkLength(this);" style="width:600px;height:84px"></textarea><br />
<br />
<a style="color:#fff;float:left;font-size:24px;" href="#" class="Button blueButton Button18">
<strong>注册登录</strong></a> <span class="wordage">剩余字数:<span id="sy" style="color:Red;">10</span></span>
</form>
<script type="text/javascript">
function checkLength(which) {
var maxChars = 10; //
if(which.value.length > maxChars){
alert("您出入的字数超多限制!");
// 超过限制的字数了就将 文本框中的内容按规定的字数 截取
which.value = which.value.substring(0,maxChars);
return false;
}else{
var curr = maxChars - which.value.length; //250 减去 当前输入的
document.getElementById("sy").innerHTML = curr.toString();
return true;
}
}
</script>
</body>
</html>