中文字符串截取的js函数代码


Posted in Javascript onApril 17, 2013

为了解决这个问题昨天写了根据字节数截取字符串的函数。
具体使用很简单,跟String.subString(start, end)一样使用就可。比如:var str = "诶必塞第衣爱抚即"; var str1 = str.subCHStr(2, 2); var str2 = str.subCHString(2, 4); alert(str1 + " == " + str2);

Code
//计算字符串长度
String.prototype.strLen = function() {
    var len = 0;
    for (var i = 0; i < this.length; i++) {
        if (this.charCodeAt(i) > 255 || this.charCodeAt(i) < 0) len += 2; else len ++;
    }
    return len;
}
//将字符串拆成字符,并存到数组中
String.prototype.strToChars = function(){
   var chars = new Array();
   for (var i = 0; i < this.length; i++){
       chars[i] = [this.substr(i, 1), this.isCHS(i)];
   }
   String.prototype.charsArray = chars;
   return chars;
}
//判断某个字符是否是汉字
String.prototype.isCHS = function(i){
   if (this.charCodeAt(i) > 255 || this.charCodeAt(i) < 0) 
       return true;
   else
       return false;
}
//截取字符串(从start字节到end字节)
String.prototype.subCHString = function(start, end){
   var len = 0;
   var str = "";
   this.strToChars();
   for (var i = 0; i < this.length; i++) {
       if(this.charsArray[i][1])
           len += 2;
       else
           len++;
       if (end < len)
           return str;
       else if (start < len)
           str += this.charsArray[i][0];
   }
   return str;
}
//截取字符串(从start字节截取length个字节)
String.prototype.subCHStr = function(start, length){
   return this.subCHString(start, start + length);
}
Javascript 相关文章推荐
javascript管中窥豹 形参与实参浅析
Dec 17 Javascript
Javascript仿PHP $_GET获取URL中的参数
May 12 Javascript
JS实现仿苹果底部任务栏菜单效果代码
Aug 28 Javascript
JS实现常见的TAB、弹出层效果(TAB标签,斑马线,遮罩层等)
Oct 08 Javascript
jquery 全选、全不选、反选效果的实现代码【推荐】
May 05 Javascript
js事件驱动机制 浏览器兼容处理方法
Jul 23 Javascript
jQuery插件扩展操作入门示例
Jan 16 Javascript
详解Vue.js基于$.ajax获取数据并与组件的data绑定
May 26 Javascript
详解关于JSON.parse()和JSON.stringify()的性能小测试
Mar 14 Javascript
仿vue-cli搭建属于自己的脚手架的方法步骤
Apr 17 Javascript
js中延迟加载和预加载的具体使用
Jan 14 Javascript
vue使用wavesurfer.js解决音频可视化播放问题
Apr 04 Vue.js
解决IE6的PNG透明JS插件使用介绍
Apr 17 #Javascript
Web跨浏览器进程通信(Web跨域)
Apr 17 #Javascript
js读写(删除)Cookie实例详解
Apr 17 #Javascript
基于dom编程中 动态创建与删除元素的使用
Apr 17 #Javascript
javaScript(JS)替换节点实现思路介绍
Apr 17 #Javascript
用函数模板,写一个简单高效的 JSON 查询器的方法介绍
Apr 17 #Javascript
JS对img进行操作(换图片/切图/轮换/停止)
Apr 17 #Javascript
You might like
WindowsXP中快速配置Apache+PHP5+Mysql
2008/06/05 PHP
PHP5.2中date()函数显示时间与北京时间相差8小时的解决办法
2009/05/28 PHP
ThinkPHP实现事务回滚示例代码
2014/06/23 PHP
关于URL最大长度限制的相关资料查证
2014/12/23 PHP
php绘制一个扇形的方法
2015/01/24 PHP
ThinkPHP 3.2.3实现加减乘除图片验证码
2018/12/05 PHP
VBS通过WMI监视注册表变动的代码
2011/10/27 Javascript
javascript页面上使用动态时间具体实现
2014/03/18 Javascript
Javascript的严格模式strict mode详细介绍
2014/06/06 Javascript
js获取IP地址的方法小结
2014/07/01 Javascript
js中的json对象详细介绍
2014/10/29 Javascript
JavaScript子窗口调用父窗口变量和函数的方法
2015/10/09 Javascript
nodejs微信公众号支付开发
2016/09/19 NodeJs
BootStrap TreeView使用实例详解
2017/11/01 Javascript
vue template中slot-scope/scope的使用方法
2018/09/06 Javascript
vue路由中前进后退的一些事儿
2019/05/18 Javascript
node.js中path路径模块的使用方法实例分析
2020/02/13 Javascript
浅谈js中的attributes和Attribute的用法与区别
2020/07/16 Javascript
Python3基础之条件与循环控制实例解析
2014/08/13 Python
Python匹配中文的正则表达式
2016/05/11 Python
Python开发SQLite3数据库相关操作详解【连接,查询,插入,更新,删除,关闭等】
2017/07/27 Python
Python Learning 列表的更多操作及示例代码
2018/08/22 Python
Pyqt5 实现跳转界面并关闭当前界面的方法
2019/06/19 Python
纯CSS3实现表单验证效果(非常不错)
2017/01/18 HTML / CSS
美国球迷装备的第一来源:FOCO
2020/07/03 全球购物
活动策划求职信模板
2014/04/21 职场文书
社团活动总结报告
2014/06/27 职场文书
2014年教师节讲话稿5篇
2014/09/10 职场文书
公司领导班子群众路线四风问题对照检查材料
2014/10/02 职场文书
2015年房产销售工作总结范文
2015/05/22 职场文书
贫困证明怎么写
2015/06/16 职场文书
责任书格式
2019/04/18 职场文书
诺贝尔奖获得者名言100句:句句启人心智,值永久收藏
2019/08/09 职场文书
个人职业生涯规划之自我评估篇
2019/09/03 职场文书
oracle表分区的概念及操作
2021/04/24 Oracle
windows server2016安装oracle 11g的图文教程
2022/07/15 Servers