js判断字符串长度,中文占两个字符
2013-04-21 01:34
543 查看
分析前言:
方案1:
方案2:
sample:
// \x00-\xff 是字符编码的范围,如果查过这个范围,就不是字母和数字了, //把全部符合\x00-\xff条件的字符用**替换,然后计算长度,即遇到一个中文就用**替换,计算为两位 var length = name.replace(/[^\x00-\xff]/g,"**").length;
方案1:
用js判断字符串的长度: 如:str=”中国”,alert(str.length),则提示长度为2。 做如下处理后: str=str.replace(/[^\x00-\xff]/g, 'xx'),alert(str.length)则长度提示为4
方案2:
function strlen(str){ var len = 0; for (var i=0; i<str.length; i++) { var c = str.charCodeAt(i); //单字节加1 if ((c >= 0x0001 && c <= 0x007e) || (0xff60<=c && c<=0xff9f)) { len++; } else { len+=2; } } return len; }
sample:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>JS-TRING</title> <script type="text/javascript" > //方案1 function wayOne(){ var str = document.getElementById('tt').value; str=str.replace(/[^\x00-\xff]/g, 'xx'); alert(str.length); } //方案2-01 function wayTwo(){ var str = document.getElementById('tt').value; alert(WidthCheck(str, 6)); } //方案2-02 function WidthCheck(s, n){ var w = 0; for (var i=0; i<s.length; i++) { var c = s.charCodeAt(i); //单字节加1 if ((c >= 0x0001 && c <= 0x007e) || (0xff60<=c && c<=0xff9f)) { w++; } else { w+=2; } } if (w == n) { return true; } return false; } </script> </head> <body> <div style="margin:10px 0;"> <form> <input type="text" id="tt" /> <input type="button" value="wayOne" onclick="wayOne();" /> <input type="button" value="wayTwo" onclick="wayTwo();" /> </form> </div> </body> </html>
相关文章推荐
- js判断字符串长度,中文占两个字符
- js判断输入字符串长度(汉字算两个字符,字母数字算一个)
- 判断字符串的长度,中文占两个字符
- 判断字符串的长度(优化版)中文占两个字符
- js判断输入字符串长度(汉字算两个字符,字母数字算一个)
- JS 判断输入字符串的长度(中文占用两个字节,英文占用一个字节)
- 判断字符串的长度(优化版)中文占两个字符
- JS判断字符串长度(英文占1个字符,中文汉字占2个字符)
- JS判断字符串长度(英文占1个字符,中文汉字占2个字符)
- JS判断字符串长度(英文占1个字符,中文汉字占2个字符)
- js判断输入字符串长度(汉字算两个字符,字母数字算一个)
- js判断输入字符串长度(汉字算两个字符,字母数字算一个)
- JS判断字符串长度(中文2字符,英文1字符),可调整
- JS 判断输入字符串的长度(中文占用两个字节,英文占用一个字节)
- JS判断字符串长度(英文占1个字符,中文汉字占2个字符)
- JS获取字符串长度,一个中文算两个字符。
- js脚本系列(1) JS判断输入字符串长度(汉字算两个字符,字母数字算一个)
- JS判断输入字符串长度(汉字算两个字符,字母数字算一个)
- JS判断输入字符串长度实例代码(汉字算两个字符,字母数字算一个)
- JS判断字符串长度(英文占1个字符,中文汉字占2个字符)