百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>JS教程> Javascipt获取字符串真实长度(兼容IE,fireFox)
分享文章到:

Javascipt获取字符串真实长度(兼容IE,fireFox)

发布时间:01/15 来源: 浏览: 关键词:
在js中获取字符串长度我们会用到length来判断了,但是此函数对中文混合体是判断不准的,下面我总结了几个支持中英文识别的字符串长度检测函数。

JS原先的长度中文跟英文一样一个字符为1个长度。所以这里就得需要大家自己判断并获取字符串的实际长度了。
核心代码:

 代码如下
var jmz = {};
jmz.GetLength = function(str) {
    ///<summary>获得字符串实际长度,中文2,英文1</summary>
    ///<param name="str">要获得长度的字符串</param>
    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;
};   

执行代码:

 代码如下

alert(jmz.GetLength('测试测试ceshiceshi));

image

JS版获取字符串真实长度和取固定长度的字符串函数(兼容IE,fireFox)

   

 代码如下
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
        <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
      <title>JS版获取字符串真实长度和取固定长度的字符串函数(兼容IE,fireFox)
    </title>
    </head>
    <body>
    <script type="text/javascript">
    // 得到字符串的真实长度(双字节换算为两个单字节)
    function getStrActualLen(sChars)
    {
        return sChars.replace(/[^x00-xff]/g,"xx").length;
    }
    // 截取固定长度子字符串 sSource为字符串iLen为长度
    function getInterceptedStr(sSource, iLen)
    {
        if(sSource.replace(/[^x00-xff]/g,"xx").length <= iLen)
        {
            return sSource;
        }
        var str = "";
        var l = 0;
        var schar;
        for(var i=0; schar=sSource.charAt(i); i++)
        {
            str += schar;
            l += (schar.match(/[^x00-xff]/) != null ? 2 : 1);
            if(l >= iLen)
            {
                break;
            }
        }
        return str;
    }
    var str1="这是一个字符串截取的函数,this is a test!";
    alert(getInterceptedStr(str1,29));
    </script>
    </body>
    </html>
打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有5人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板