jQuery限制输⼊字符串长度
我们后台做程序的时候,⽐如录⼊⼀篇⽂章,⽂章会有摘要,我们希望⽂章的字符长度是我们可以控制的,我们不希望它太长,⽐如限制只能输⼊250个字符,下⾯的代码实现了这种功能。
先来看⼀下效果图
代码如下:
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>⽆标题⽂档</title>
<script type="text/javascript" src="apps.bdimg/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">
(function ($) {
// tipWrap: 提⽰消息的容器
// maxNumber: 最⼤输⼊字符
$.fn.artTxtCount = function (tipWrap, maxNumber) {
var countClass = 'js_txtCount',
// 定义内部容器的CSS类名
fullClass = 'js_txtFull',
// 定义超出字符的CSS类名
disabledClass = 'disabled'; // 定义不可⽤提交按钮CSS类名
// 统计字数
var count = function () {
var btn = $(this).closest('form').find(':submit'),
val = $(this).val().length,
// 是否禁⽤提交按钮
disabled = {
on: function () {
},
off: function () {
btn.attr('disabled', 'disabled').addClass(disabledClass);
}
};
if (val == 0) disabled.off();
if (val <= maxNumber) {
if (val > 0) ();
tipWrap.html('<span class="' + countClass + '">\u8FD8\u80FD\u8F93\u5165 <strong>' + (maxNumber - val) + '</strong> \u4E2A\u5B57</span>');
} else {
disabled.off();
tipWrap.html('<span class="' + countClass + ' ' + fullClass + '">\u5DF2\u7ECF\u8D85\u51FA <strong>' + (val - maxNumber) + '</strong> \u4E2A\u5B57</span>'); };
};
$(this).bind('keyup change', count);
return this;
};
})(jQuery);
// demo
jQuery(function(){
// 批量
$('.autoTxtCount').each(function(){
$(this).find('.text').artTxtCount($(this).find('.tips'), 140);
});
// 单个
$('#test').artTxtCount($('#test_tips'), 10);
});
</script>
<style>
/* demo */
body {
font-size:75%;
font-family:'微软雅⿊';
}
#demo {
width:500px;
}
#demo .help, #demo .help a {
color:#999;
}
jquery字符串截取#demo form {
margin:20px 0;
padding:8px;
background:#F4F4F4;
border:1px solid #EDEDED;
}
#demo .tips {
color:#999;
padding:0 5px;
}
#demo .tips strong {
color:#1E9300;
}
#demo .tips .js_txtFull strong {
color:#F00;
}
# {
width:474px;
}
</style>
</head>
<body>
<div id="demo">
<h1>artTxtCount - 轻量级输⼊字数提⽰插件</h1>
<p class="help">$('#text').artTxtCount($('#text_tips'), 10);</p>
<p class="help">by tangbin. </p>
<form class="autoTxtCount" action="" method="get">
<div>
<textarea class="text" name="" cols="50" rows="3"></textarea>
</div>
<div>
<button type="submit">提交</button>
<span class="tips"></span> </div>
</form>
<form class="autoTxtCount" action="" method="get">
<div>
<textarea class="text" name="" cols="50" rows="3"></textarea>
</div>
<div>
<button type="submit">提交</button>
<span class="tips"></span> </div>
</form>
jQuery⽂本框实时显⽰可输⼊字数并可禁⽌输⼊提⽰超出,强!
<form action="" method="get">
<input class="text" id="test" name="" type="text" />
<span id="test_tips" class="tips"></span><br />
<button type="submit">提交</button>
</form>
</div>
</body>
</html>
以上就是本⽂的全部内容,希望能给⼤家⼀个参考,也希望⼤家多多⽀持。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论