页面英文字符串和中文字符串的长度计算
2017-02-21 16:00
246 查看
js校验中判断输入长度功能是不可缺少的,但是在实际的判断中我们需要动态对于英文字符和中文字符进行单独判断(数字占一个字节,英文占一个字节,标点占一个字节,一个汉字占两个字节)。
1.英文的asc码在[0,128]之间
function(str) {
var realLength = 0, len = str.length, charCode = -1;
for (var i = 0; i < len; i++) {
charCode = str.charCodeAt(i);
if (charCode >= 0 && charCode <= 128)
realLength += 1;
else
realLength += 2;
}
return realLength;
};
2.按位与运算
var l = str.length;
var blen = 0;
for(i=0; i<l; i++) {
if ((str.charCodeAt(i) & 0xff00) != 0) {
blen ++;
}
blen ++;
}
3.等值替换法
function(str) {
return str.replace(/[\u0391-\uFFE5]/g,"aa").length;
};
1.英文的asc码在[0,128]之间
function(str) {
var realLength = 0, len = str.length, charCode = -1;
for (var i = 0; i < len; i++) {
charCode = str.charCodeAt(i);
if (charCode >= 0 && charCode <= 128)
realLength += 1;
else
realLength += 2;
}
return realLength;
};
2.按位与运算
var l = str.length;
var blen = 0;
for(i=0; i<l; i++) {
if ((str.charCodeAt(i) & 0xff00) != 0) {
blen ++;
}
blen ++;
}
3.等值替换法
function(str) {
return str.replace(/[\u0391-\uFFE5]/g,"aa").length;
};
相关文章推荐
- 一个中文汉字算两位,一个英文字母算一位,计算中文和英文混合的字符串长度。字符串:String str = "我不好java";
- 一个中文汉字算两位,一个英文字母算一位,计算中文和英文混合的字符串长度。字符串:String str = "我不好java";
- JS验证字符串是否以某一子串结尾,验证字符串是否以某一子串开始;计算字符串长度,中文为2,英文为1,以此累计
- sql计算字符串中包含中文、英文字符长度
- 利用正则表达式计算含有中文的字符串长度
- php中计算中文字符串长度、截取中文字符串
- C#获取中文英文混合字符串Byte字节长度
- 计算文本长度,区分中英文字符,中文算两个长度,英文算一个长度
- Js计算包含英文与汉字的字符串长度
- C#计算字符串长度(中文两个字符)
- JS 判断输入字符串的长度(中文占用两个字节,英文占用一个字节)
- js计算字符串长度,中文算两个
- 获取包含中文,字母,数字集合的字符串的长度(1个汉字字符存储需要2个字节,1个英文字符存储需要1个字节)
- 取字符串的长度(英文字符串和中文字符串的区别)
- 回复:String中如果有中文,如何保证length()返回的长度 在 Java 中字符串是以 Unicode 方式编码的,所以,无论中英文都算的长度为 1。根据你的描述,估计是想要取得英文长度为 1 中文长度为 2 的总长度吧。这个,理论上可以构造 An
- 字符串长度,同时考虑二个英文=一个中文
- js 计算字符串长度(含中文)
- C#中文和英文字符串长度问题
- 利用正则表达式计算含有中文的字符串长度
- 计算含有中文字符字符串长度的函数