我们知道input控件有一个maxlength属性可以控制输入字符的长度,但是,它并不会识别是汉字还是其他符号,所以输入maxlength个汉字显然是不符合要求的。

为了实现对带有汉字的输入框长度控制,参考各位大神的贴子,我总结了一下方案:

定义js方法:

/*限制中英文皆可输入的文本框长度,使用方式参考以下:*/
/*<input type="text" onkeyup="checkLength(this, 10);" />*/
var checkLength = function(dom, maxLength){
var l = 0;
for(var i=0; i<dom.value.length; i++) {
if (/[\u4e00-\u9fa5]/.test(dom.value[i])) {
l+=2;
} else {
l++;
}
if (l > maxLength) {
dom.value = dom.value.substr(0,i);
break;
}
}
};

其中 /[\u4e00-\u9fa5]/ 为匹配汉字的正则。

达到maxlength时候,输入输入字符将不会在显示。

input限制中文字数的更多相关文章

  1. PHP 中如何正确统计中文字数

    PHP 中如何正确统计中文字数?这个是困扰我很久的问题,PHP 中有很多函数可以计算字符串的长度,比如下面的例子,分别使用了 strlen,mb_strlen,mb_strwidth 这个三个函数去测 ...

  2. input输入中文时,拼音在输入框内会触发input事件的问题。

    问题描述: 监听文本输入框的input事件,在拼写汉字(输入法)但汉字并未实际填充到文本框中(选词)时会触发input事件,如图: 需要完成的需求就是在输入阶段不触发input中的事件,选词之后文字落 ...

  3. input事件中文触发多次问题研究

    我们在网页中经常会遇到实时搜索的情况,或者其他类似需要input实时响应的问题,一般情况下,我们是利用input和propertychange事件来监听input内容的变化来响应,但是有一个问题就是当 ...

  4. UITextField限制输入中文字数

    前面写一了篇,UITextField Category来限制输入的字数,是有个Bug的,要输入中文时会crash.如今改动 了下.代码例如以下 .h文件 #import <UIKit/UIKit ...

  5. PHP中文字数限制:中文字符串截取(mb_substr)

    一.中文截取:mb_substr() mb_substr( $str, $start, $length, $encoding ) $str,需要截断的字符串 $start,截断开始处,起始处为0 $l ...

  6. input 限制 中文输入

    ime-mode:disabled是什么? 解决: 1.     ime-mode版本:IE5+专有属性 继承性:无    语法:     ime-mode : auto | active | ina ...

  7. 解决adb shell input text 中文输入,unicode转utf-8

    https://github.com/senzhk/ADBKeyBoard 上面这个是外国人写的一个输入法,我们把它安装再设置下就ok了 直接下载bin下的ADBKeyBoard.apk文件,或者上面 ...

  8. python 中文字数统计/分词

    因为想把一段文字分词,所以,需要明确一定的词语关系. 在网上随便下载了一篇中文小说.随便的txt小说,就1mb多.要数数这1mb多的中文到底有多少字,多少分词,这些分词的词性是什么样的. 这里是思路 ...

  9. input输入框控制字数

    HTML: <input class = "remark" type = "text" maxlength = "500"> J ...

随机推荐

  1. 【洛谷 P3690】 【模板】Link Cut Tree (动态树)

    题目链接 \(RT\). FlashHu巨佬的博客 #include <cstdio> #define R register int #define I inline void #defi ...

  2. LintCode之硬币排成线

    输入的n可以分为两种情况: 1. 如果n是3的倍数的话,不论A怎么拿B都可以拿(3-A拿的个数)来使其保持是3的倍数,他就一定能拿到最后一块,所以n是3的倍数的话B必胜 2. 如果n不是3的倍数的话, ...

  3. 在64位ubuntu中安装代码比较工具beyond compare

    1,//从http://www.scootersoftware.com/download.php 官方地址下载 bcompare-3.3.2.14050.tar.gz 或 bcompare-4.0.7 ...

  4. sshd_config OpenSSH SSH 进程配置文件配置说明

    名称 sshd_config – OpenSSH SSH 服务器守护进程配置文件 大纲 /etc/ssh/sshd_config 描述sshd 默认从 /etc/ssh/sshd_config 文件( ...

  5. Fiddler Web Session 列表(1)

    Web Session 列表 位置: Web Session 列表 位于Fiddler界面的左侧 ,是Fiddler所抓取到的所有Session会话的列表集合. Web Session 列表 栏名词解 ...

  6. csu 1592(区间DP)

    1592: 石子归并 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 356  Solved: 148[Submit][Status][Web Board ...

  7. 获取ios设备系统信息的方法 之 [UIDevice currentDevice]

    获取iphone的系统信息使用[UIDevice currentDevice],信息如下: [[UIDevice currentDevice] systemName]:系统名称,如iPhone OS ...

  8. 【hdoj_1042】N!(大数)

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=1042 题目说明待求阶乘的数最大为10000,而10000!的位数为35660(这个数是上网查的),所以已经 ...

  9. 洛谷P1615 西游记公司 题解

    题目传送门 这道题题面写得非常好. 但好像并没有什么ruan用. 这道题貌似就是把时间差求出来,乘上猪八戒能偷的电脑数就好了.(注意long long) #include<bits/stdc++ ...

  10. iBatis应用--控制执行SQL时的超时时间

    https://blog.csdn.net/jackie_xiaonan/article/details/8459320