js中文长度校验以及字节
来源:互联网 发布:淘宝评价顺序能调吗 编辑:程序博客网 时间:2024/06/05 22:47
单字节指只占一个字,是英文字符。双字是占两个字节的,中文字符都占两个字节 单字节的英文是Byte;比特是最小的数值单位,它的英文是Bit。 一个字节包含8个比特,通常计算机初学者接触到的ASCII码就是单字节字符,由于计算机是二进制的,1个比特位只可以表示为0或者1这两种数,那8个比特(一般从右至左)就可以有0~127(2的8次方再减1)的不同的数值表示。 双字节字符即是包含了两个字节共16比特。 一般比较好理解的就是:英文字母属于单字节字符,而汉字则属于双字节字符。因为英文字母、数字、符号等完全可以用128种不同的数值来表示,而汉字太多则不能,所以才需要扩展到双字节。
因此判断汉字的方法就简单了,只需要判断是不是单字节:
( c >= 0x0001 && c <= 0x007e) || (0xff60<=c && c<=0xff9f)) 或者 c 小于256
或者判断双字节 c 大于256
mootools中有长度校验的方法,如下:
lengthnewnumchn:function(el,min, max){
var v=el.get('value');
var w = 0;
if(v == "") return true;
var max1=Math.floor(max/3);
for (var i=0; i<v.length; i++) {
var c = v.charCodeAt(i);
//单字节加1
if ((c >= 0x0001 && c <= 0x007e) || (0xff60<=c && c<=0xff9f)) {
w++;
}
else { //汉字加3
w+=3;
}
}
if (w > max || w<min) {
el.errors.push(this.options.alerts.lengthchnnum.replace("%1",min).replace("%2",max).replace("%1",min).replace("%3",max1));
return false;
}
}
也可以如下:
//汉字及英文,数字长度校验
lengthnumchn:function(el,min,max){
var v = el.get('value');
if(v == "") return true;
var len = 0 ;
var max1 = Math.floor(max/2);
for (var i = 0; i < v.length; i++) {
var c = v.charCodeAt(i) > 255 ? 2 : 1;
len += c;
}
if(len < min || len > max) {
el.errors.push(this.options.alerts.lengthchnnum.replace("%1",min).replace("%2",max).replace("%1",min).replace("%3",max1));
return false;
}
}
对应数据库汉字占用几个字节,执行下面的sql即可看到 :
SELECT lengthb('的')FROM DUAL ;
匹配中文字符的正则表达式: [\u4e00-\u9fa5]
匹配双字节字符(包括汉字在内):[^\x00-\xff]
- js中文长度校验以及字节
- js校验字符长度(一个中文占两个字符)
- Java中文字节长度
- js计算字节长度
- 校验中文长度和英文长度
- JS 判断输入字符串的长度(中文占用两个字节,英文占用一个字节)
- js 正则中文校验
- JS 判断字符字节长度
- 字节长度,字节对齐以及类,对象的长度
- 字节长度,字节对齐以及类,对象的长度
- 字节长度,字节对齐以及类,对象的长度
- 字节长度,字节对齐以及类,对象的长度
- 含中文字符的字符串长度校验
- js:单字节(英文一个,中文二个)长度/截取(substr)实现
- validate中,value长度校验(中文长度)
- js中校验汉字的长度
- JS----校验文本框输入汉字长度
- 获取含中文的真实字节长度
- Mac系统如何显示隐藏文件
- ffmpeg 中hello-jni demo 示例
- oracle数据库中如何插入特殊符号'&'
- Java高并发:静态页面生成方案
- Windows8系统中JAVA环境变量的配置
- js中文长度校验以及字节
- "undefined reference to" 问题解决方法
- 常用mdadm 命令
- day4 test01
- 复杂的sql语句
- RVDS2.2破解安装
- 把字符串链接起来
- [总结]Unix设计哲学 <<Unix编程艺术>>
- window.showModalDialog以及window.open用法简介