一个小小的控制输入字数的方法

写给朋友用的,回调提供剩余字符

<!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" xml:lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
    <title>Document</title>
    <style type="text/css">
        .out{
            background-color: #ccc;
            opacity: 0;
            filter:alpha(opacity=0);
            position: relative;
            z-index: 3
        }
        .out img{
            position: relative;
        }
    </style>
</head>
<body>
    <input type="text" class="limit" />

    <div class="out">
        <img src="http://172.16.102.228:3000/images/html/ac_game/ac_game_pair_back_answer1.png" />
        <img src="http://172.16.102.228:3000/images/html/ac_game/ac_game_pair_back_base.png" />
    </div>

<script type="text/javascript" src="http://lib.sinaapp.com/js/jquery/1.9.1/jquery-1.9.1.min.js"></script>
<script type="text/javascript">
;(function($){
    $.fn.maxLimit = function(options){
        var defaults = {
            max : 11,
            callback : null
        },
        configs = $.extend({},defaults,options),
        self = this,
        max = configs.max,
        callback = configs.callback,
        _length,
        Val,
        getLength = function(x){
            // 中文算2个字符
            return x.replace(/[^\x00-\xf]/g,"xx").length;
        }

        self.on("input propertychange",function(){
            var val = self.val(),
                length = getLength(val);

            if(length > max){
                self.val(Val);
            }else{
                Val = val;
            }

            if(typeof callback == "function"){
                callback.call(null, max - getLength(Val) );
            }
        });

    }
})(jQuery);

$(".limit").maxLimit({
    max : 7,
    callback : function(l){
        console.log(l);
    }
});
</script>
</body>
</html>
时间: 2024-10-17 01:56:56

一个小小的控制输入字数的方法的相关文章

TextView里限制输入字数的方法

一开始采用的方法是函数textView:shouldChangeTextInRange:replacementText:来进行判断: //键入Done时,插入换行符,然后执行addBookmark - (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text { //判断加上输入的字符,是否超过界限 NSString *str = [N

如何更好地限制一个UITextField的输入长度

要限制一个UITextField的输入字数(参考链接),首先想到的应该是通过 UITextFieldDelegate 的代理方法来限制: - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string; return NO to not change text 比如要设置字数限制为20: - (BOOL)text

用javascript实现控制一个文本框的输入字数限制,超出字数限制文本框飘红显示-面试题

用javascript实现控制一个文本框的输入字数限制,超出字数限制文本框飘红显示. html <textarea name="" id="text" cols="30" rows="10" maxLength=10></textarea><br> <span id="span"></span> javascript var str = docum

Android EditText输入字数限制总结(包括中文输入内存溢出的解决方法)

限定EditText输入个数的解决方案很多,但是一般主要考虑两点,也就是处理两件事: (1)不同语言字符(英文.中文等)处理方式 (2)输入字符达到数目后,是否仍然允许用户输入 第一点,涉及的东东其实蛮多,不同语言在不同编码中占据字节数等,不同语言在U8等编码的表示范围等,这一整块知识很丰富, 自己暂时没有理的特别顺,稍后整理再说吧. 第二点,目前主流app的处理方案也各有不同,qq5.0以前的版本,发表说说貌似是没有字数限制的(我试了一个350字左右的照样发), 5.0以后限制了,这样如果用户

Android EditText输入字数限制总结(包含中文输入内存溢出的解决方法)

转载请注明,大飞:http://blog.csdn.net/rflyee/article/details/38856539 限定EditText输入个数的解决方式非常多,可是一般主要考虑两点.也就是处理两件事: (1)不同语言字符(英文.中文等)处理方式 (2)输入字符达到数目后,是否仍然同意用户输入 第一点,涉及的东东事实上蛮多,不同语言在不同编码中占领字节数等,不同语言在U8等编码的表示范围等,这一整块知识非常丰富,自己临时没有理的特别顺.稍后整理再说吧. 第二点.眼下主流app的处理方案也

c语言:写一个函数,输入n,求斐波拉契数列的第n项(5种方法,层层优化)

写一个函数,输入n,求斐波拉契数列的第n项. 斐波拉契数列:1,1,2,3,5,8...,当n大于等于3时,后一项为前面两项之和. 解:方法1:从斐波拉契数列的函数定义角度编程 #include<stdio.h> int fibonacci(int n) { int num1=1, num2=1, num3=0,i; if (n <= 2) { printf("斐波拉契数列的第%d项为:%d\n",n,num1); } else { for (i = 2; i <

zblogasp调用摘要并控制字数的方法

本文为大家介绍下“zblogasp调用摘要并控制字数的方法”,仅针对zblogasp程序额,需要安装“ytcms”插件. 有两种情况,第一种是在zblogasp模板里面直接使用,代码如下: Markup {eval set art = new TArticle} {if art.LoadInfoByID(<#article/id#>)} {$left(replace(TransferHTML(art.Content,"[nohtml]")," ",&qu

实现textarea限制输入字数(包含中文只能输入10个,全ASCII码能够输入20个)

textarea称文本域,又称文本区,即有滚动条的多行文本输入控件,在网页的提交表单中经常用到.与单行文本框text控件不同,它不能通过maxlength属性来限制字数,为此必须寻求其他方法来加以限制以达到预设的需求. 通常的做法就是使用#脚本语言来实现对textarea文本域的字数输入限制,简单而实用.假设我们有一个id为 txta1 的textarea文本区,我们可以通过以下代码限制它的键盘输入字数为10个字(汉字或其他小角字符): <script language="#"

实现textarea限制输入字数(from www.sysoft.cc)

实现textarea限制输入字数(包含中文只能输入10个,全ASCII码能够输入20个) textarea称文本域,又称文本区,即有滚动条的多行文本输入控件,在网页的提交表单中经常用到.与单行文本框text控件不同,它不能通过maxlength属性来限制字数,为此必须寻求其他方法来加以限制以达到预设的需求. 通常的做法就是使用#脚本语言来实现对textarea文本域的字数输入限制,简单而实用.假设我们有一个id为 txta1 的textarea文本区,我们可以通过以下代码限制它的键盘输入字数为1