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交互后的效果图: 点击空格,输入想输入的答案,如 ...
随机推荐
- I.MX6 FFmpeg 录制视频
/************************************************************************* * I.MX6 FFmpeg 录制视频 * 说明: ...
- ffmpeg avpicture_fill的一些使用
标签: ffmpegavpicture_fill 2013-05-17 10:03 4713人阅读 评论(1) 收藏 举报 分类: ffmpeg(3) 这个FFMPEG我没找到详细的中文教程,只有 ...
- Mybatis generator配置文件及说明
项目采用sring mvc + mybatis 组合,这里简单介绍下mybatis的应用: 我的IDE是STS(Spring + Tool + Suite), 安装Mybatis Generator插 ...
- NOIP 2011 DAY 2
第一题:计算系数 题目 给定一个多项式 (ax+by)k,请求出多项式展开后xnym 项的系数. 输入 共一行,包含 5 个整数,分别为 a,b,k,n,m,每两个整数之间用一个空格隔开 ...
- bzoj 2794: Cloakroom dp
题目: 有\(n\)件物品,每件物品有三个属性\(a_i,b_i,c_i,(a_i < b_i)\) 再给出\(q\)个询问,每个询问由非负整数\(m,k,s\)组成,问是否能够选出某些物品使得 ...
- Popular Cows
传送门(poj):http://poj.org/problem?id=2186 (bzoj):http://www.lydsy.com/JudgeOnline/problem.php?id=1051 ...
- 【Google】循环字符串里面的独立子串
转载自九章算法(地址) 题目: 假设s是一个无限循环的字符串”abcdefghijklmnopqrstuvwxyz”,s就是一个”...zabcdefghijklmnopqrstuvwxyza...” ...
- JAVA中重写equals()方法为什么要重写hashcode()方法说明
重写hashCode()时最重要的原因就是:无论何时,对同一个对象调用hashCode()都应该生成同样的值.如果在将一个对象用put()方法添加进HashMap时产生一个hashCode()值,而用 ...
- POJ1001(C++处理大数)
Exponentiation Time Limit: 500MS Memory Limit: 10000K Total Submissions: 158025 Accepted: 38470 ...
- net.sf.json-lib maven依赖问题.
<dependency> <groupId>net.sf.json-lib</groupId> <artifactId>json-lib</art ...