`

js截取,支持中文

 
阅读更多
<html>
<script src="http://common.cnblogs.com/script/jquery.js" type="text/javascript"></script>

<body>
    <input type="text" name="username" />
</body>
<script type="text/ecmascript">

   
    var 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;
    };


    //js截取字符串,中英文都能用  
    //如果给定的字符串大于指定长度,截取指定长度返回,否者返回源字符串。  
    //字符串,长度  

    /** 
     * js截取字符串,中英文都能用 
     * @param str:需要截取的字符串 
     * @param len: 需要截取的长度 
     */
    function cutstr(str, len) {
        var str_length = 0;
        var str_len = 0;
        str_cut = new String();
        str_len = str.length;
        for (var i = 0; i < str_len; i++) {
            a = str.charAt(i);
            str_length++;
            if (escape(a).length > 4) {
                //中文字符的长度经编码之后大于4  
                str_length++;
            }
            str_cut = str_cut.concat(a);
            if (str_length >= len) {
                str_cut = str_cut.concat("...");
                return str_cut;
            }
        }
        //如果给定字符串小于指定长度,则返回源字符串;  
        if (str_length < len) {
            return str;
        }
    }
$(function () { 
     $("input[name=username]").bind('keyup', function () {
      if (GetLength($(this).val()) > 10) { 
       $(this).val(cutstr($(this).val(), 10)); 
       return; 
     } 
  }); 
}); 
</script> 
</html>
分享到:
评论

相关推荐

    js substr支持中文截取函数代码(中文是双字节)

    js substr支持中文截取函数代码,中文是双字节,配有实例需要的朋友可以参考下

    javascript截取字符串(通过substring实现并支持中英文混合)

    用js方法substring()、方法substr()实现如标题所示的截取字符串并支持中英文混合,具体代码如下,感兴趣的各位可以参考下哈

    JS字符串长度判断,超出进行自动截取的实例(支持中文)

    今天一个小弟问我的问题,在文本框中输入字符,如果超出指定长度,就把它截取,要求中文等于两个字符的长度,我找一下资料,把这个功能实现了, 下面是JS代码: &lt;html&gt; [removed][removed] &lt;body&gt; &lt...

    类似于QString的js类,支持中文的字符串操作

    类似于QString的js类,支持中文的字符串操作,如字符的查找,比较,截取等

    简洁的 hexo 主题_博客主题_JavaScript_代码_下载

    功能简介 Hexo-Theme-AirCloud 是一个简洁轻量的 hexo 博客主题,旨在将中心放在博文本身,因此: 默认没有大范围的主题色块、...语言切换能力,目前支持中文和英文 更多详情、使用方法,请下载后阅读README.md文件

    WordPress博客主题 Beginning(更新至 4.1.1 版本)

    在不支持 JavaScript 的情况下依然可以通过普通的加载方式正常浏览网站;AJAX 加载时可以显示进度条 响应式设计,移动端完全重新设计,模仿 iOS 原生 APP;主题的图片为双倍缩放,图标是字体图标,在 Retina 屏幕下...

    PHP函数库,PHP函数大全,PHP函数实例,PHP函数手册,PHP5函数库实例

    用php生成扭曲,有角度的验证图片(支持中文) 用正则加亮关键字 程序运行过程中直接输出 缩略图带版权信息函数 缩略图类 获得用户操作系统的换行符 获得用户的真实IP地址 计算字符串的长度(汉字按照两个字符...

    帝国下载系统 v2.5 开源正式版 bulid 090613.rar

    69、列表模板新增时间格式及软件名截取设置。 70、内容模板新增时间显示格式设置。 71、分类导航页面新增每行显示、背景颜色、单元格颜色设置。 72、新增搜索列表模板。 73、新增相关链接模板。 74、新增投票...

    Lerx 网站内容管理系统 v5.5.zip

    且具有智能标题截取功能:由于英文和数字是半角字符,而中文汉字是全角,当标题中经常出现这两种混杂,又不愿意采用精简标题的情况下,强制截取长度会影响页面美观。智能截取会主动判断每一个字符是全角或半角,会...

    BIWEB WMS PHP开源企业建站系统 v5.8.5.rar

    现推出中英文双语版,并可以完美支持中文繁简转换。 该系统需要PHP5以上版本,并要开启PDO和PDO_MYSQL组件,否则无法使用。 BIWEB V5.8.5启用了新的底层框架,共享内存缓存的应用,是新底层的一大特色,大家可以下载...

    爱窝房产系统OurHouse 5.3

    ● 增强Excel导出支持中文名;● 优化标签缓存;● 修复Nginx下判断https问题;● 修复xml节点解析中CDATA内容空白问题;● 修复添加文档资讯时,判断重复问题;● 修复vlog_list分表时在Mysql5.7+下的sql错误;● ...

    hexo-theme-aircloud:简洁的六边形主题

    本博客提供给腾讯课堂官方课程做项目参考,作者即课程讲师之一。Hexo-Theme-AirCloud: 一个简洁轻量的 ...文章详情页文章目录功能访问量统计(总体UV、PV,单页PV)语言切换能力,目前支持中文和英文起步我在"常见问题

    企业SEO站 v17.2 无组件生成HTML.rar

    28、修正截取中文字符bug,修正文章发布时间问题。 29、增加轮播图功能,可后台维护轮播图,改善面包屑导航,显示各级路径。 30、产品代表图片上传大小有限制,大图片出错误修正。 31、修复缩略图上传失败问题。...

    企业SEO站 v17.0 无组件生成HTML.rar

    34、修正截取中文字符bug,修正文章发布时间问题。 35、增加轮播图功能,可后台维护轮播图,改善面包屑导航,显示各级路径。 36、修复缩略图上传失败问题。增加文章、产品转向功能修正模板CSS显示错误的bug。 37...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part1

    实例112 解决用substr()函数对中文字符串截取时出现乱码的问题 143 实例113 字符串与HTML标记相互转换 144 实例114 运用PHP 5.0新型字符串输出XML数据 145 实例115 判断字符串中是否存在指定子串 146 2.9 正则表达式...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part2

    实例112 解决用substr()函数对中文字符串截取时出现乱码的问题 143 实例113 字符串与HTML标记相互转换 144 实例114 运用PHP 5.0新型字符串输出XML数据 145 实例115 判断字符串中是否存在指定子串 146 2.9 正则表达式...

    freemarker总结

    FreeMarker表达式中完全支持算术运算,FreeMarker支持的算术运算符包括:+, - , * , / , % 看如下的代码: ${ x * x - 100 } ${ x /2 } ${ 12 } 输出结果是: -75 2.5 2 在表达式中使用算术运算符时要注意以下...

    ASP.NET常用代码

    &lt;script language="javascript" for="document" event="onkeydown"&gt; if(event.keyCode==13 && event.srcElement.type!='button' && event.srcElement.type!='submit' && event.srcElement.type!='reset' && event....

Global site tag (gtag.js) - Google Analytics