- 浏览: 2569150 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (1286)
- js-oop (2)
- js-window (10)
- js-event (19)
- js-string (37)
- js-array (27)
- js-page (4)
- js-dom (62)
- js-lang (8)
- js-number (7)
- js-platform (3)
- js-object (15)
- js-element (3)
- js-browser (7)
- js-url (6)
- js-date (10)
- css基础 (48)
- css优化 (15)
- html基础 (17)
- html标签 (19)
- js基础 (117)
- js-兼容性差异 (33)
- js引擎 (3)
- js性能 (14)
- json (6)
- jQuery源码浅析 (43)
- web mobile开发资料 (78)
- js跨域 (2)
- html5 (74)
- html5-canvas (7)
- css3 (53)
- 浏览器 (5)
- api设计学 (3)
- js-加载 (3)
- linux (37)
- 架构师 (1)
- php (2)
- self开发的脚本库--凤凰 (2)
- web应用名词 (6)
- javascript新特性翻译 (8)
- ajax (6)
- jQuery动画效果 (7)
- prototype的解读 (13)
- 优秀插件翻译 (1)
- css解决方案 (26)
- 数据库 (2)
- english daily (59)
- 浏览器内核探究 (1)
- jQuery插件介绍 (9)
- jquery基础篇 (26)
- chrome浏览器问题整理 (14)
- js选择器那些事 (3)
- 前端框架 (26)
- Firefox私有属性 (11)
- webkit私有属性集合 (17)
- 书籍推荐 (21)
- 数据结构 (1)
- 网站建设相关 (7)
- 好文翻译 (2)
- 个人作品 (3)
- kissy的解读 (4)
- css-layout(布局研究) (5)
- less研究 (1)
- YUI探究 (1)
- hash探究 (1)
- js动画 (7)
- 前端面试题 (37)
- css书写规范 (1)
- js模板引擎 (6)
- js模块化 (19)
- 编写高质量代码 (3)
- 性能探究--应用协议 (2)
- 前端图像处理 (19)
- Mac OS相关 (21)
- 正则表达式 (11)
- 离线应用相关 (0)
- 前端工具 (65)
- nodeJS (55)
- jquery优化篇 (2)
- 设计模式探究系列 (3)
- windows7 (2)
- IE10 (10)
- 微博开放平台探究 (2)
- 常用web服务接口 (1)
- 数据存储相关 (8)
- 零时文件 (2)
- jQuery Mobile (16)
- backbone (15)
- underscore (22)
- sass (11)
- android (3)
- phonegap (10)
- IE私有 (11)
- qwrap (8)
- git (14)
- chrome extensions (5)
- freemarker (11)
- angularJS (3)
- seo (2)
- markdown (3)
- css动画 (4)
- 安卓开发 (2)
- React (7)
- 活动页技术 (1)
- 网络安全 (3)
- grunt (7)
- Lo-Dash (3)
- 前端国际化 (4)
- 版本控制 (2)
- 盒模型 (4)
- 微信开发 (1)
- Mock数据工具 (1)
- sails (1)
- vim (1)
- js-color (1)
- iOS 基础 (43)
最新评论
-
jertom:
<div id="showInfo" ...
addEventListener等事件监听的参数细谈 -
乌托邦国王:
引用[u][/u]
css3动画属性系列之transform细讲移动translate -
hvang1988:
能提供附件下载吗,找不到js库,google封了访问不了
Syntaxhighlighter---代码高亮插件介绍 -
sscsacdsadcsd:
我的天 那到底是为什么function是object我看und ...
typeof func ==='function'的疑惑 -
wkjiangwk:
试了,没用,你们从不去测试。
介绍一下x-webkit-speech -------实现语音输入
今天再一次的遇到了这样一个问题-----关于字符串的字节长度。我想很多表单多会有这样的需求,比如前段我在做baidu输入法官网上传词库和皮肤的时候,因为输入项有字节限制。
当然很多网络上早就处理了,今天只是简单地总结记录一下。
//删除左右两端空格 //不同于$.trim() function trim(str){ return str.replace(/(^\s*)|(\s*$)/g, ""); }; //计算字符串字节长度 //关于这个去空格的需求具体可以变动 function getByteLength(str){ var len=0, i, arr = trim(str).split(""); //如果没有需求就改为arr = str.split(""); for(i=0;i<arr.length;i++){ if(arr[i].charCodeAt(0)<299){ len ++; }else{ len +=2; } } return len; } console.log(getByteLength("w的长度是duo少")); //14
console.log(getByteLength(" w的长度是duo少 ")); //14
ps:很多有后端学习经验或者数据库经验的人或者对字符集比较有研究的人会提出:汉字不一定是算2个字节,好吧,这边我们只是约定一下,汉字算两个字节
后来写lib库的时候看到tangram是这样处理的
/* *getByteLength get the source byte length in gbk* *@function* *@param {String} source* *@remak {Number}* *@remark in gbk length more than 127 is thought two byte* */ ZYC.string.getByteLength = function(source){ return String(source).replace(/[^\x00-\xff]/g,"ci").length; //ci是可以换到 当成2个字节的就行 };
ps:这个版本是没有去空格的,在编码为gbk的情况下去计算的。
这边随便提一下常见的字符集(来源于http://baike.baidu.com/view/1204863.htm)
- ASCII
ASCII码于1968年提出,用于在不同计算机硬件和软件系统中实现数据传输标准化,在大多数的小型机和全部的个人计算机都使用此码。ASCII码划分为两个集合:128个字符的标准ASCII码和附加的128个字符的扩充和ASCII码。比较EBCDIC。其中95个字符可以显示。另外33个不可以显示。 标准ASCII码为7位,扩充为8位。
基本的 ASCII 字符集共有 128 个字符,其中有 96 个可打印字符,包括常用的字母、数字、标点符号等,另外还有 32 个控制字符。标准 ASCII 码使用 7 个二进位对字符进行编码,对应的 ISO 标准为 ISO646 标准。
字母和数字的 ASCII 码的记忆是非常简单的。我们只要记住了一个字母或数字的 ASCII 码(例如记住 A 为 65 , 0 的 ASCII 码为 48 ),知道相应的大小写字母之间差 32 ,就可以推算出其余字母、数字的 ASCII 码。
- GB2312
GB2312编码通行于我国内地;新加坡等地也采用此编码。几乎所有的中文系统和国际化的软件都支持GB 2312。GB 2312是一个简体中文字符集,由6763个常用汉字和682个全角的非汉字字符组成。其中汉字根据使用的频率分为两级。一级汉字3755个,二级汉字3008个。
- UTF-8
UTF-8可以根据不同的符号自动选择编码的长短。比如英文字母可以只用1个字节就够了。
更多链接:http://www.douban.com/group/topic/6922168/ (学习交流用)
发表评论
-
md5.js
2014-03-24 12:22 1068本文收录一个md5的lib: htt ... -
underscore.string
2014-03-17 15:24 1188underscore.string: ... -
Lo-Dash之uniqueId
2014-02-11 15:56 1102其实这个和underscore的类似: ... -
字符串版本的isNumber
2013-08-06 14:08 1311前面写过一篇《关于各大框架的isNumber ... -
把任意变量转换为字符串
2013-08-06 12:42 1354收录一个string相关的api: ... -
ES6系列之String
2013-07-30 11:43 0本文载录一些es6的String对象的新方法: ... -
一个处理 . 的方案
2013-04-01 18:16 1528场景: 我有一个需求:“ ... -
一个处理 . 的方案
2013-04-01 18:14 0场景: 我有一个需求: ... -
String的replace方法
2013-03-12 19:21 2098String对象的replace() ... -
jquery api之camelCase
2013-03-12 11:36 1193本代码取之:1.4.3版本(才开始有) ... -
underscore之uniqueId
2013-03-04 10:32 1503uniqueId _.uni ... -
js基础charCodeAt
2013-01-28 14:42 1633以下内容来自w3school,个人作简单积累记录: ... -
字符串times化
2012-11-30 17:44 1364问题:把一个指定的字符串按照指定的个数进行复制输出! ... -
如何获取文件的后缀
2012-10-19 13:54 1246其实很多场合中我们都会有这种需求,对文件后缀进行判断,这边给出 ... -
String的lastIndexOf
2012-10-18 21:15 1129lastIndexOf -- ... -
判断是否是css文件
2012-10-10 15:04 1334此代码片段来自seajs var IS_CS ... -
判断字符串最后一位是否是#
2012-10-09 21:24 2352api的用途:判断字符串最后一位是否是# htt ... -
seajs源码相关之dirname
2012-10-08 17:35 1628其实很多寻址需求里面都会有这样的api设计 举例: ... -
string扩展api--replaceAll
2012-08-01 17:56 1347replaceAll /* @name re ... -
JavaScript1.8.1新特性系列之Trim|TrimLeft|TrimRight
2012-05-09 11:38 1945以前在写字符串长度验证的时候提过一些trim相关的api ...
相关推荐
JavaScript 中关于字符串字节长度的计算比较(含汉字字符串) 可用于验证字符串长度。效率比较高。
js判断输入字符串长度(汉字算两个字符,字母数字算一个) 文本输入时,由于数据库表字段长度限制会导致提交失败,因此想到了此方法验证。 废话不多说上代码: <html> <head> <title>js判断输入...
提供常用的验证函数,如日期、身份证、数字等,另外提供了一些java中有但js中没有提供的函数,如trim(),取中文字符串长度等
js判断输入字符串长度实例代码(汉字算两个字符,字母数字算一个) 文本输入时,由于数据库表字段长度限制会导致提交失败,因此想到了此方法验证。 废话不多说上代码: <html> <head> <title>js...
对于字符串来说,验证域的字符串长度必须等于给定长度。对于数字来说,验证域的值必须等于给定值。string验证域必须为字符串。url验证域必须为URL地址。当前不支持含有非英文(中文等)字符的地址。测试文件入口./...
JavaScript的String对象有length属性,但是这个计算的是字符数,不是字节数(问题总是翻来覆去的,记得当年玩Delphi的时候,还得写程序计算字符串的字符数,因为Delphi中String的length是字节数…)。偷懒一点的办法...
tt.LV(字符串长度) tt.CV(与其它字段或值比较) 直接通过tt.vf获取的验证器 req(非空) num(数字) int(整数) email(邮箱) ip(ipv4) postcode(邮政编码) tel(电话号码) idcard(身份证号码) 深入演示使用...
1:js 字符串长度限制、判断字符长度、js限制输入、限制不能输入、textarea 长度限制 2.:js判断汉字、判断是否汉字 、只能输入汉字 3:js判断是否输入英文、只能输入英文 4:js只能输入数字,判断数字、验证数字、检测...
1:js 字符串长度限制、判断字符长度 、js限制输入、限制不能输入、textarea 长度限制 2.:js判断汉字、判断是否汉字 、只能输入汉字 3:js判断是否输入英文、只能输入英文 4:js只能输入数字,判断数字、验证数字、...
1:js 字符串长度限制、判断字符长度 、js限制输入、限制不能输入、textarea 长度限制 2.:js判断汉字、判断是否汉字 、只能输入汉字 3:js判断是否输入英文、只能输入英文 4:js只能输入数字,判断数字、验证数字、检测...
1:js 字符串长度限制、判断字符长度 、js限制输入、限制不能输入、textarea 长度限制 2.:js判断汉字、判断是否汉字 、只能输入汉字 3:js判断是否输入英文、只能输入英文 4:js只能输入数字,判断数字、验证数字、检测...
收集于网上各种javascript的正则表达式验证,如邮箱,ip,字符,数据和各种组合的验证。 只能输入由26个英文字母组成的字符串:“^[A-Za-z]+$” 只能输入由26个大写英文字母组成的字符串:“^[A-Z]+$” 只能输入由...
1:js 字符串长度限制、判断字符长度 、js限制输入、限制不能输入、textarea 长度限制 2.:js判断汉字、判断是否汉字 、只能输入汉字 3:js判断是否输入英文、只能输入英文 4:js只能输入数字,判断数字、验证数字、...
只是一个小小的实例,希望可以给各位朋友带来帮助。
js验证用户名 字符串长度 比较验证 手机号码验证
1:js 字符串长度限制、判断字符长度、js限制输入、限制不能输入、textarea 长度限制 2.:js判断汉字、判断是否汉字 、只能输入汉字 3:js判断是否输入英文、只能输入英文 4:js只能输入数字,判断数字、验证数字、检测...
Validator是基于JavaScript技术的伪静态类和对象的自定义属性,可以对网页中的表单项输入进行相应的验证,允许同一页面中同时验证多个表单,熟悉接口之后也可以对特定的表单项甚至仅仅是某个字符串进行验证。...
1:js 字符串长度限制、判断字符长度、js限制输入、限制不能输入、textarea 长度限制 2.:js判断汉字、判断是否汉字 、只能输入汉字 3:js判断是否输入英文、只能输入英文 4:js只能输入数字,判断数字、验证数字、...
获取字符串长度.asp 第13章(/14/) Matches集合与Macth对象.asp 指定忽略大小写.asp 获取Matches集合.asp 进行正则匹配替换.asp 进行正则匹配检验.asp ...
14 rangelength:[5,10] 输入长度必须介于 5 和 10 之间的字符串(汉字算一个字符)。 15 range:[5,10] 输入值必须介于 5 和 10 之间。 16 max:5 输入值不能大于 5。 17 min:10 输入值不能小于 10