转载 http://blog.csdn.net/haotangyu/archive/2010/03/18/5393889.aspx
//计算字符串长度(可同时字母和汉字,字母占一个字符,汉字占2个字符)
view plaincopy to clipboardprint?
1. function strlen(str){
2. var len = 0;
3. for (var i=0; i<str.length; i++) {
4. var c = str.charCodeAt(i);
5. //单字节加1
6. if ((c >= 0x0001 && c <= 0x007e) || (0xff60<=c && c<=0xff9f)) {
7. len++;
8. }
9. else {
10. len+=2;
11. }
12. }
13. return len;
14. }
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; }
/////////////////////////////////////////////////////////////////////
// 判断长度是否合格
//
// 引数 s 传入的字符串
// n 限制的长度n以下
//
// 返回值 false NG
// true OK
/////////////////////////////////////////////////////////////////////
view plaincopy to clipboardprint?
1. function WidthCheck(s, n){
2. var w = 0;
3. for (var i=0; i<s.length; i++) {
4. var c = s.charCodeAt(i);
5. //单字节加1
6. if ((c >= 0x0001 && c <= 0x007e) || (0xff60<=c && c<=0xff9f)) {
7. w++;
8. }
9. else {
10. w+=2;
11. }
12. }
13. if (w > n) {
14. return false;
15. }
16. return true;
17. }
评论