js对输入文字个数的限制...
发表留言或者微博的时候,对输入文字个数的限制,下面分两种情况,每种分别介绍两种实现方式:
第一种:一个汉字算一位,两个字母或符号算一位。
通过ASCII编码来判断
textarea.onkeyup = function(){
//[^\x00-\xff]即ASCII编码不在0-255的字符,也就是汉子了,先把所有汉子换成任意两个字符,最后除以2,得到一个字符
var n = 150- Math.floor(this.value.replace(/[^\x00-\xff]/g,"aa").length/2)
span.innerHTML = n <=0 ? 0 : n;
};
通过charCodeAt编码来判断
//键盘up的时候判断
textarea.onkeyup = function(){
var n = 1 ; //字母或符号累加判断
var num = 0; //总个数累加判断
for (var i = 0; i < this.value.length; i++) {
//根据charCodeAt来判断输入的是中文还是字母,符号
charCode = this.value.charCodeAt(i);
if (charCode >= 0 && charCode <= 128){
//通过n模2来判断输入两次累加
n++;
if(n%2 == 0) num += 1;
}else{
num += 1;
}
};
span.innerHTML = 150-num <=0 ? 0 : 150-num;
};
另一种:是一个汉字算两位,一个字母或者符号算一位
通过ASCII编码来判断
textarea.onkeyup = function(){
//[^\x00-\xff]即ASCII编码不在0-255的字符,也就是汉子了,先把所有汉子换成任意两个字符
var n = 150- this.value.replace(/[^\x00-\xff]/g,"aa").length
span.innerHTML = n <=0 ? 0 : n;
};
通过charCodeAt编码来判断
//键盘up的时候判断
textarea.onkeyup = function(){
var num = 0; //总个数累加判断
for (var i = 0; i < this.value.length; i++) {
//根据charCodeAt来判断输入的是中文还是字母,符号
charCode = this.value.charCodeAt(i);
if (charCode >= 0 && charCode <= 128){
//字符就+1
num += 1;
}else{
//汉子就+2
num += 2;
}
};
span.innerHTML = 150-num <=0 ? 0 : 150-num;
};
js对输入文字个数的限制...的更多相关文章
- js 控制输入文字个数(换行不算)
如题,换行符在textarea中是要当成一个字符的.用普通的maxlength属性就不行了,于是想到通过事件来控制输入文字的长度. 注意哦,回车换行不能算成字符.这样的话,普通的substring等方 ...
- js实现文本框输入文字个数限制代码
html: <div class="curr_eval_box"> <input type="hidden" n ...
- jquery判断输入文字个数的统计代码
1.js代码部分 <script type="text/javascript"> $(function() { function albumNa ...
- js统计输入文字的字节数(byte)
这里主要考虑的是日文,日文中包含了半角和全角文字,半角算1,全角算2. <html> <head> <script language="javascript&q ...
- iType.js仿输入文字效果
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- js 控制输入文字的字数
直接上代码. <html> <head> </head> <body> <textarea id='txtArea' cols='50' rows ...
- textarea输入文字限制个数
说明: w-count固定为数字部分的class textarea-active为超出最大输入文字个数报错信息的class html 部分: <div class="wrap wrap ...
- jquery统计输入文字的个数并对其进行判断
<textarea placeholder="该产品满足你的期待吗?说说你的使用心得,分享给 同样看中的他们吧"></textarea> <span ...
- iOS webView与js交互在文本空格上输入文字
项目要求:webview加载html网址,内容为填空题型文本,需要在横线上添加答案,并点击提交按钮后再将答案进行回显 正常加载的效果图片: 这个是用js交互后的效果图: 点击空格,输入想输入的答案,如 ...
随机推荐
- 【leetcode刷题笔记】N-Queens II
Follow up for N-Queens problem. Now, instead outputting board configurations, return the total numbe ...
- Arc065_E Manhattan Compass
平面上有$N$个点$(X_i\space, Y_i)$,定义$D(a,b)=|X_a-X_b|+|Y_a-Y_b|$. 如果你当前在$(p,q)$,这个无序二元组(即$(p,q)$和$(q,p)$被认 ...
- 幻想乡三连C:狂飙突进的幻想乡
题解: 不难发现,对于每一条从$S$到$T$的路径,设其$x.y$的和为$S_x.S_y$,其对答案的贡献是$a\cdot S_x+(1-a)\cdot S_y$,这是一个关于$a$的一次函数.而所有 ...
- Undefined exploded archive location(在myeclipse中TOMCAT不能发布程序。)
原因: 在工程转移过程中,导致工程的配置文件出错: 解决方法: 1.在工程目录下的.mymetadata文件中可能webrootdir被改无效了(把下面内容拷到你的 ...
- centos 6.7 (UDEV,、etc/hosts)安装 RAC 11.2.0.4 报错处理
环境说明: db 11.2.0.4 os: centos 6.7 UDEV管理ASM 没有配置DNS服务器,采用/etc/hosts报错: 1. CVU(Cl ...
- Git 系列之tag的用法---为你的代码标记版本号
版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[-] 本地仓库操作 远程仓库操作 其他 tag 操作 在做app开发的时候经常有版本的概念,比如v1.0.v1.1之类的,不同 ...
- Poj1207 The 3n + 1 problem(水题(数据)+陷阱)
一.Description Problems in Computer Science are often classified as belonging to a certain class of p ...
- nefu26(求数的位数)
Description 根据密码学需要,要计算某些数的阶乘的位数. Input 第一行为整数n ,接下来 n 行, 每行1个数m (1 ≤ m ≤ 10^7) . Output 输出m的阶乘的位数. ...
- Android中EditTex焦点设置和弹不弹出输入法的问题(转)
今天编程碰到了一个问题:有一款平板,打开一个有EditText的Activity会默认弹出输入法.为了解决这个问题就深入研究了下android中焦点Focus和弹出输入法的问题.在网上看了些例子都不够 ...
- SQL Server BCP 资料导入导出
SQL Server BCP 导入导出使用 Bcp 导出导入数据高效,比使用SQL Server Management Stdio 提供的数据库导出导入要高效因为sql server 也没有提供提供类 ...