javascript 正确截取单字节和双字节混和字符串的方法

ggxdoncare

ggxdoncare

2016-02-19 20:29

下面,图老师小编带您去了解一下javascript 正确截取单字节和双字节混和字符串的方法,生活就是不断的发现新事物,get新技能~

script type="text/javascript"

/*************************************************************

     Author         : Yanfu Xie xieyanfu@yahoo.com.cn

     Url         : http://www.yitu.org

     Description     : 正确截取单字节和双字节混和字符串

     String str     : 要截取的字符串

     Number         : 截取长度

*************************************************************/

function substr(str, len)

{

    if(!str || !len) { return ''; }

    //预期计数:中文2字节,英文1字节  

    var a = 0;

    //循环计数 

    var i = 0;

    //临时字串  

    var temp = ''; 

    for (i=0;istr.length;i++) 

    {

        if (str.charCodeAt(i)255) 

        { 

            //按照预期计数增加2

             a+=2;

        } 

        else 

        {

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)

             a++;

        }

        //如果增加计数后长度大于限定长度,就直接返回临时字符串  

        if(a len) { return temp; }

        //将当前内容加到临时字符串  

         temp += str.charAt(i);

    } 

    //如果全部是单字节字符,就直接返回源字符串  

    return str;

}

var str = "呵呵he哈哈嘿嘿and";

document.write("字符串:font color='red'"+str+"/fontbr /br /");

document.write("javascript 默认截取10个字节的返回值:br /");

document.write("font color='red'"+str.substr(0, 10)+"/fontbr /br /");

document.write("用本文介绍的方法截取10个字节的返回值:br /");

document.write("font color='red'"+substr(str, 10)+"/fontbr /br /");

document.write("截取9个字节的返回值:br /");

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)

document.write("font color='red'"+substr(str, 9)+"/fontbr /br /");

/script

還有更簡單的方法(正則)

script

a="中文測試"

b="51js.com"

function dd(str,c){document.write(str.replace(/([u0391-uffe5])/ig,'$1a').substring(0,c).replace(/([u0391-uffe5])a/ig,'$1')+"br/")}

dd(a,8);

dd(b,8);

/script

展开更多 50%)
分享

猜你喜欢

javascript 正确截取单字节和双字节混和字符串的方法

Web开发
javascript 正确截取单字节和双字节混和字符串的方法

另辟蹊径处理字符串中的字符:字节数组法

编程语言 网络编程
另辟蹊径处理字符串中的字符:字节数组法

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

C# 16进制与字符串、字节数组之间的转换

编程语言 网络编程
C# 16进制与字符串、字节数组之间的转换

浅议VB6字节数组和字符串的相互转换

编程语言 网络编程
浅议VB6字节数组和字符串的相互转换

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

widechar单双字节转换函数Asc

电脑入门
widechar单双字节转换函数Asc

C++多字节字符与宽字节字符相互转换

编程语言 网络编程
C++多字节字符与宽字节字符相互转换

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

详解CSS的定位语法应用

详解CSS的定位语法应用

wps演示图层使用技巧

wps演示图层使用技巧
下拉加载更多内容 ↓