中文字符串截取的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 相关文章推荐
来自chinaz的ajax获取评论代码
May 03 Javascript
在js中单选框和复选框获取值的方式
Nov 06 Javascript
js实现屏蔽默认快捷键调用自定义事件示例
Jun 18 Javascript
使用jquery prev()方法找到同级的前一个元素
Jul 11 Javascript
JQuery简单实现锚点链接的平滑滚动
May 03 Javascript
基于Vue生产环境部署详解
Sep 15 Javascript
微信小程序 功能函数小结(手机号验证*、密码验证*、获取验证码*)
Dec 08 Javascript
JS脚本加载后执行相应回调函数的操作方法
Feb 28 Javascript
微信小程序实现自定义modal弹窗封装的方法
Jun 15 Javascript
vue组件间通信六种方式(总结篇)
May 15 Javascript
layui多iframe页面控制定时器运行的方法
Sep 05 Javascript
swiper Scrollbar滚动条组件详解
Sep 08 Javascript
解决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
php 正则 过滤html 的超链接
2009/06/02 PHP
php使用iconv中文截断问题的解决方法
2015/02/11 PHP
PHP登录验证码的实现与使用方法
2016/07/07 PHP
Laravel接收前端ajax传来的数据的实例代码
2017/07/20 PHP
javascript 程序库的比较(一)之DOM功能
2010/04/07 Javascript
有关JavaScript的10个怪癖和秘密分享
2011/08/28 Javascript
javascript针对DOM的应用分析(三)
2012/04/15 Javascript
JavaScript高级程序设计(第3版)学习笔记9 js函数(下)
2012/10/11 Javascript
jQuery is()函数用法3例
2014/05/06 Javascript
JS 实现Base64编码与解码实例详解
2016/11/07 Javascript
详解js中Json的语法与格式
2016/11/22 Javascript
原生js实现中奖信息无间隙滚动效果
2017/01/18 Javascript
如何抽象一个Vue公共组件
2017/10/17 Javascript
Vue中&quot;This dependency was not found&quot;问题的解决方法
2018/06/19 Javascript
五分钟搞懂Vuex实用知识(小结)
2019/08/12 Javascript
JS面向对象编程基础篇(三) 继承操作实例详解
2020/03/03 Javascript
vue开发chrome插件,实现获取界面数据和保存到数据库功能
2020/12/01 Vue.js
python pdb调试方法分享
2014/01/21 Python
Ubuntu下创建虚拟独立的Python环境全过程
2017/02/10 Python
Python使用pylab库实现画线功能的方法详解
2017/06/08 Python
Django model序列化为json的方法示例
2018/10/16 Python
将string类型的数据类型转换为spark rdd时报错的解决方法
2019/02/18 Python
pycharm如何实现跨目录调用文件
2020/02/28 Python
Python实现井字棋小游戏
2020/03/09 Python
HTTP状态码详解
2021/03/18 杂记
HTML5打开手机扫码功能及优缺点
2017/11/27 HTML / CSS
加拿大在线旅游公司:Flighthub
2019/03/11 全球购物
大学生个人自我鉴定
2013/12/03 职场文书
幼儿园消防演练方案
2014/02/13 职场文书
企业新年寄语
2014/04/04 职场文书
《大海那边》教学反思
2014/04/09 职场文书
美食节策划方案
2014/05/26 职场文书
2015年度团总支工作总结
2015/04/23 职场文书
拖欠货款起诉状
2015/05/20 职场文书
幼儿体育课教学反思
2016/02/16 职场文书
Python基础知识之变量的详解
2021/04/14 Python