<script type="text/javascript"> 
  //返回val的字节长度 
  function getByteLen(val) { 
    var len = 0; 
    for (var i = 0; i < val.length; i++) { 
      if (val[i].match(/[^\x00-\xff]/ig) != null) //全角 
        len += 2; 
      else 
        len += 1; 
      } 
    return len; 
  } 
  //返回val在规定字节长度max内的值 
  function getByteVal(val, max) { 
    var returnValue = ''; 
    var byteValLen = 0; 
    for (var i = 0; i < val.length; i++) { 
      if (val[i].match(/[^\x00-\xff]/ig) != null) 
        byteValLen += 2; 
      else 
        byteValLen += 1; 
      if (byteValLen > max) 
        break; 
      returnValue += val[i]; 
    } 
    return returnValue; 
  } 
  $(function() { 
    var _area = $('textarea#txtPrizeNote'); 
    var _info = _area.next(); 
    var _max = _area.attr('maxlength'); 
    var _val; 
    _area.bind('keyup change', function() { //绑定keyup和change事件 
      if (_info.find('span').size() < 1) {//避免每次弹起都会插入一条提示信息 
        _info.append(_max); 
      } 
      _val= $(this).val(); 
      _cur = getByteLen(_val); 
      if (_cur == 0) {//当默认值长度为0时,可输入数为默认maxlength值 
        _info.text(_max); 
      } else if (_cur < _max) {//当默认值小于限制数时,可输入数为max-cur 
        _info.text(_max - _cur); 
      } else {//当默认值大于等于限制数时 
        _info.text(0); 
        $(this).val(getByteVal(_val,_max)); //截取指定字节长度内的值 
      } 
    }); 
  }); 
</script>

jquery 字符个数(数字字母长度记为1,中文记为2,超过长度自动截)的更多相关文章

  1. iOS TextField输入限制(限制长度、只能输入数字,只能输入数字字母……)

    项目中各个地方都会用到TextField,textField的输入也会有各种需求,各种限制,每次用到的时候要重写一遍这些限制,导致各种垃圾代码,各种重复,有一天,我终于看不下去了,于是把textFie ...

  2. 强密码和弱密码并没有什么区别?NIST密码安全标准更新:不再建议密码要求混合大写字母、字符和数字

    作为一名认真负责的小编,每次注册账号设置密码的时候都是最痛苦的,太简单的怕被破解,太难的又记不住. 等你好不容易记住密码,三个月后IT同学过来拍拍你的肩膀,"你的密码到期了,记得改啊--&q ...

  3. 实验:输入一篇英文新闻,以“#”结束,统计其中a-z这26个字母各出现的次数和总字符个数。(不区分大小写)

    代码如下: #include <iostream> using namespace std; int main() { char ch; char s_letter[26]={'a','b ...

  4. Java中如何判断一个字符是否是字母或数字

    使用Java中Character类的静态方法: Character.isDigit(char c) //判断字符c是否是数字字符,如‘1’,‘2’,是则返回true,否则返回false   Chara ...

  5. UTF-8编码的字符串拆分成单字、获取UTF-8字符串的字符个数的代码及原理

    一.字符编码简介 1. ASCII码 在计算机内部,所有的信息最终都表示为一个二进制的字符串.每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(by ...

  6. Java随机生成定长纯数字或数字字母混合数

    (转)Java随机生成定长纯数字或数字字母混合数 运行效果图: 具体实现代码

  7. 剑指offer总结一:字符、数字重复问题

    问题1:字符串中第一个不重复的字符 题目描述 请实现一个函数用来找出字符流中第一个只出现一次的字符.例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是" ...

  8. js正则表达式验证、匹配数字、匹配字符串、匹配中文、匹配任意字符备忘录

    本文转自:91博客 :原文地址:http://www.9191boke.com/235792704.html 正则表达式或“regex”用于匹配字符串的各个部分,下面是我创建正则表达式的备忘录.包括一 ...

  9. 原创:C语言打开、下载、删除网页,统计网页字符个数

    本程序由本人在华夏联盟的ID闪电笨笨原创,首发地址:http://bbs.hx95.com/ 写此程序希望可以可以激发新手学习C语言的积极性! C语言代码实现功能如下:            1.实现 ...

随机推荐

  1. codeforces 519E A and B and Lecture Rooms(LCA,倍增)

    转载请注明出处: http://www.cnblogs.com/fraud/          ——by fraud E. A and B and Lecture Rooms A and B are ...

  2. html5增强元素--续

    progress元素使用例子 <script> ; function progress_demo() { ) { i++; updateProgress(i); setTimeout(pr ...

  3. EasyUI TextBox的keypress

    关于EasyUI TextBox的事件好像不多,像keypress,keydown在textbox的事件里都没有,所以要用这些事件要采取一些特殊的方法,今天用到了这些就记录一下,有两种方法, 第一种: ...

  4. 10--动作系统(四)动作类中的reverse方法

    上一篇文章在使用持续动作过程中遇到不少问题,以获取动作类的反系动作尤为突出.所以今天把动作类找了个遍,先将大部分动作类是否实现reverse方法总结如下: T表示实现F表示没有实现. 观察可以发现带T ...

  5. 整合spring2 + struts1.2 + hibernate3.2 .

    1 可恶的myeclipse     为了开发方便,我选择了myeclipse,因为它集成了很多框架,而不致于自己去倒入很多lib.但就是因为这一点,成了我这次组合的致命伤.SSH因为其是开源框架,自 ...

  6. Apache的prefork模式和worker模式

    prefork模式这个多路处理模块(MPM)实现了一个非线程型的.预派生的web服务器,它的工作方式类似于Apache 1.3.它适合于没有线程安全库,需要避免线程兼容性问题的系统.它是要求将每个请求 ...

  7. 还是畅通工程(1233 并查集+kruskal)

    还是畅通工程 Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Subm ...

  8. MVC中配置OutputCache的VaryByParam参数无效的问题

    在项目使用OutputCacheAttribute是遇到了问题,当我想在配置文件web.config中配置OutputCache的VaryByParam时竟然不起作用,下面是相关代码: 文件FaceC ...

  9. wordpress教程之函数讲解

    wordpress函数收集 is_home() : 是否为主页is_single() : 是否为内容页(Post),   是否是单篇文章  is_page() : 是否为内容页(Page),   是否 ...

  10. php修改配置文件php.ini设置文件上传大小讲解

    打开php.ini,首先找到;;;;;;;;;;;;;;;;; File Uploads ;;;;;;;;;;;;;;;;;区域,有影响文件上传的以下几个参数: file_uploads   =   ...