<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. 8051、ARM、AVR

    arm精简指令集.可以安装嵌入式操作系统 8051复杂指令集 avr没落了

  2. (转) Pointers

    原地址 http://www.cplusplus.com/doc/tutorial/pointers/ Pointers In earlier chapters, variables have bee ...

  3. C++ 语言特性的性能分析

    转载:http://www.cnblogs.com/rollenholt/archive/2012/05/07/2487244.html      大多数开发人员通常都有这个观点,即汇编语言和 C 语 ...

  4. java读取xml文件报“org.xml.sax.SAXParseException: Premature end of file” .

    背景:java读取xml文件,xml文件内容只有“<?xml version="1.0" encoding="UTF-8"?>”一行 java读取该 ...

  5. python读取Excel

    import xlrd # 读取Excel文件 workbook = xlrd.open_workbook(r'E:\2015.xls') # 读取Excel的sheet名字 sheet_names ...

  6. Red and Black(poj 1979 bfs)

    Red and Black Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 27891   Accepted: 15142 D ...

  7. 利用Azure Automation实现云端自动化运维(3)

    Azure automation的认证方式:证书   该种方式是推荐的进行Automation认证的方式,好处在于安全性高,过期时间由自己控制,不好的地方在于大家在Windows上要生成证书比较麻烦, ...

  8. 手机三种SIM卡 你所不知道的剪卡“秘密”

    SIM卡物理尺寸的发展是逐渐轻薄化,尺寸逐渐缩小的一个过程,最早手机中的卡都是2FF,2003年国际标准提出3FF,当前很多终端都使用这种形态的卡,4FF在2011年的国际标准会议中提出,2012年纳 ...

  9. gcc的stdcall扩展

    MSVC上: 如果是函数调用约定直接就写 __stdcall 之类的就行了 如果是gcc上: 函数的扩展调用约定要这样写 __attribute__((__stdcall__)),默认为__attri ...

  10. SHELL中的特殊变量和结构

    SHELL中的特殊变量和结构 表格 B-1. 特殊的shell变量 变量 含义 $0 脚本名字 $1 位置参数 #1 $2 - $9 位置参数 #2 - #9 ${10} 位置参数 #10 $# 位置 ...