ASP.NET jQuery 实例13 原创jQuery文本框字符限制插件-TextArea Counter

•可限制最大输入字符长度
•可设置字符截取速度
•可自定义提示信息文本样式(可以改进自定义文本内容)
该插件统计英文字符和中文的长度是一样的。
废话少说,这里直接奉上详细插件代码,具体实现细节已经在代码里面有注释:


代码如下:

; (function ($) {
$.fn.extend({
textAreaCount: function (options) {
var $textArea = this;
options = $.extend({
maxlength: 140, // 定义一个最大输入长度变量,初始化为500
speed: 15, // 定义删除字符的速度变量
msgstyle: "font-family:Arial;font-size:small;color:Gray;small;text-align:right;margin-top:3px;", // 提示信息显示样式
msgNumStyle: "font-weight:bold;color:Gray;font-style:italic;font-size:larger;" // 提示信息里面剩余长度的样式
}, options);
var $msg = $("<div style='" + options.msgstyle + "'></div>");
// 在文本框框后面动态加载一个提示信息容器
$textArea.after($msg);
// 添加keypress事件用来判断当前内容是否还可输入
$textArea.keypress(function (e) {
// 8是Backspace按键, 46是Delete按键
// 如果当前可输入的字符长度为0, 且按键值不是8和46,就不做任何操作
if ($textArea.val().length >= options.maxlength && e.which != '8' && e.which != '46') {
e.preventDefault();
return;
}
}).keyup(function () { // 添加keyup事件用来计算剩余输入字并显示
var curlength = this.value.length;
$msg.html("").html("还能输入<span style='" + options.msgNumStyle + "'>" + (options.maxlength - curlength) + "</span>字");
var init = setInterval(function () {
// 如果输入的内容大于设置的最大长度,内容按设置的速度自动截取
if ($textArea.val().length > options.maxlength) {
$textArea.val($textArea.val().substring(0, options.maxlength));
$msg.html("").html("还能输入<span style='" + options.msgNumStyle + "'>" + options.maxlength + "</span>字");
}
else {
clearInterval(init);
}
}, options.speed);
}).bind("contextmenu", function (e) { // 禁止鼠标右键,防止通过鼠标操作文本
return false;
});
// 首次加载现在可输入字符长度提示信息
$msg.html("").html("还能输入<span style='" + options.msgNumStyle + "'>" + options.maxlength + "</span>字");
return this;
}
});
})(jQuery);

直接把上面代码复制保存到jquery.textareacounter.js.
Demo:
现在我们来看下如何使用该插件,首先要引用该插件,代码如下:


代码如下:

<script src="Scripts/jquery-1.4.1-vsdoc.js" type="text/javascript"></script>
<script src="Scripts/jquery.textareacounter.js" type="text/javascript"></script>

页面结构代码:


代码如下:

<form id="form1" runat="server">
<div align="center">
<fieldset style="width: 400px; height: 250px">
<table cellpadding="3" cellspacing="3" border="0">
<tr>
<td>
<b>请输入您的评价:</b>
</td>
</tr>
<tr>
<td>
<asp:TextBox ID="txtCmt" runat="server" TextMode="MultiLine" Width="300px" Rows="5"></asp:TextBox>
</td>
</tr>
</table>
</fieldset>
</div>
</form>

调用插件实现文本框控件txtCmt的字符限制功能,脚本代码:


代码如下:

<script type="text/javascript">
$(document).ready(function () {
$("#txtCmt").textAreaCount({ maxlength: 200, speed: 256 });
});
</script>

注:要使用该插件,调用textAreaCount()方法即可,可以设置该方法的options参数,
options参数说明:
maxlength:设置最大输入字符数量
speed:设置截取字符的速度
msgstyle:设置文本提示信息主题的样式
msgNumStyle:设置文本提示信息里剩余字符数量的样式
最终使用该插件后的效果图:

(0)

相关推荐

  • jQuery使用正则表达式限制文本框只能输入数字

    网站中的一个小功能:要求用户只能输入16位数字. 试过javascript的方法: 如:一种方法: //只允许输入数字 function checkkey2(value, e) { var key = window.event ? e.keyCode : e.which; if ((key > 95 && key < 106) || (key > 47 && key < 60)) { } else if (key != 8) { if (window

  • jQuery计算文本框字数及限制文本框字数的方法

    一个中文算两个,一个符号或数字,英文,算一个.(如果是规定140个字,乘以2,那么就是280个).需要用到Math.ceil方法,因为最后还是要除以2来还原显示给用户的字数; $(function(){ var $tex = $(".tex"); var $but = $(".but"); var ie = jQuery.support.htmlSerialize; var str = 0; var abcnum = 0; var maxNum = 280; var

  • jQuery实现限制文本框的输入长度

    jQuery限制文本框输入,包含粘贴. //限制文本框的输入长度 $(function () { $(document).on("keypress", ".txt-valid-len", function (e) { if (e.keyCode == 8) { return true; } else { var len = $(this).data("maxlength") || 0; if (len > 0) { return (this

  • 文本框的字数限制功能jquery插件

    后来在网上闲逛的时候突然发现一个比较好的文本框的字数限制的jquery plugin,简单好用效果如下图 复制代码 代码如下: <!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

  • jquery教程限制文本框只能输入数字和小数点示例分享

    复制代码 代码如下: $(function(){                 /*JQuery 限制文本框只能输入数字*/              $(".NumText").keyup(function(){                        $(this).val($(this).val().replace(/\D|^0/g,''));                  }).bind("paste",function(){  //CTR+V事

  • 3种Jquery限制文本框只能输入数字字母的方法

    onlyNum(),onlyAlpha()和onlyNumAlpha()3个Jquery扩展方法 number.js 复制代码 代码如下: // ---------------------------------------------------------------------- // <summary> // 限制只能输入数字 // </summary> // ---------------------------------------------------------

  • jQuery实现限制textarea文本框输入字符数量的方法

    本文实例讲述了jQuery实现限制textarea文本框输入字符数量的方法.分享给大家供大家参考.具体实现方法如下: (function($) { $.fn.extend( { limiter: function(limit, elem) { $(this).on("keyup focus", function() { setCount(this, elem); }); function setCount(src, elem) { var chars = src.value.lengt

  • ASP.NET jQuery 实例13 原创jQuery文本框字符限制插件-TextArea Counter

    •可限制最大输入字符长度 •可设置字符截取速度 •可自定义提示信息文本样式(可以改进自定义文本内容) 该插件统计英文字符和中文的长度是一样的. 废话少说,这里直接奉上详细插件代码,具体实现细节已经在代码里面有注释: 复制代码 代码如下: ; (function ($) { $.fn.extend({ textAreaCount: function (options) { var $textArea = this; options = $.extend({ maxlength: 140, // 定

  • jQuery中ztree 点击文本框弹出下拉框的实例代码

    废话不多说了,具体代码如下所示: <link rel="stylesheet" href="${ctx}/res/js/ztree/css/demo.css" type="text/css"/> <link rel="stylesheet" href="${ctx}/res/js/ztree/css/zTreeStyle/zTreeStyle.css" type="text/cs

  • jQuery简单实现点击文本框复制内容到剪贴板上的方法

    本文实例讲述了jQuery简单实现点击文本框复制内容到剪贴板上的方法.分享给大家供大家参考,具体如下: //点击文本框复制其内容到剪贴板上方法 function copyToClipboard(txt) { if (window.clipboardData) { window.clipboardData.clearData(); window.clipboardData.setData("Text", txt); alert("已经成功复制到剪帖板上!"); } e

  • jQuery设置和移除文本框默认值的方法

    本文实例讲述了jQuery设置和移除文本框默认值的方法.分享给大家供大家参考.具体分析如下: 开始时,文本框设定一个默认值.当光标移动到文本框时,如果文本框当前值是默认值,那么清空:离开文本框时,文本框值如果为空,那么将文本框值设置为默认值. 代码如下: $(document).ready(function() { //each遍历文本框 $(".input").each(function() { //保存当前文本框的值 var vdefault = this.value; $(thi

  • 基于jQuery的Spin Button自定义文本框数值自增或自减

    有时候在设计表单时需要对文本框实现数值自增或自减功能,例如默认为1,点击向上按钮键则增加指定步长值,点击向下按钮键则减少指定步长值,使用jQuery插件jQuery Spin Button只需要几行代码就可实现该功能,效果如下图 使用说明 一,需要使用jQuery库文件和jQuery Spin Button库文件(目前版本1.1.1) 素材准备 上下按钮图片,默认路径为:/img/spin/,上下按钮图片命名为:spin-button.png,可进行自定义修改 实例代码 一,包含文件部分 复制代

  • Jquery实现仿新浪微博获取文本框能输入的字数代码

    limit.js代码 复制代码 代码如下: //txt:文本框jquery对象 //limit:限制的字数 //isbyte:true:视limit为字节数:false:视limit为字符数 //cb:回调函数,参数为可输入的字数 function InitLimit(txt,limit,isbyte,cb){ txt.keyup(function(){ var str=txt.val(); var charLen; var byteLen=0; if(isbyte){//原文博客:blog.c

  • ASP.NET jQuery 实例7 通过jQuery来获取DropDownList的Text/Value属性值

    界面代码: 复制代码 代码如下: <form id="form1" runat="server"> <div align="center"> <fieldset style="width: 400px; height: 80px;"> <p> 选择颜色:</p> <asp:DropDownList ID="ddlColor" runat=&q

  • 基于JQuery实现鼠标点击文本框显示隐藏提示文本

    比如本人网站的搜索框: 不使用的时候: 鼠标点击后: 用JQuery实现这个效果非常简单,下面是代码: 复制代码 代码如下: $(document).ready(function () { var searchBox = $("#ctl00_txtSearch"); searchBox.focus(function () { if (searchBox.val() == this.title) { // TextBox控件ToolTip属性转换为Html为title属性 searchB

  • jQuery实现文本框输入同步的方法

    本文实例讲述了jQuery实现文本框输入同步的方法.分享给大家供大家参考.具体如下: 这段jquery代码可以保持一个文本框输入的同时另外一个文本框与之同步 var $inputs = $(".example-input"); $inputs.keyup(function() { $inputs.val($(this).val()); }); 希望本文所述对大家的jQuery程序设计有所帮助.

  • JavaScript实现带自动提示的文本框效果代码

    示例一:直接编写AJAX 实现. 客户端: 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <title>Ajax实现自动提示的文本框</title> <st

随机推荐