中文字符串截取的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 相关文章推荐
js event事件的传递与冒泡处理
Dec 06 Javascript
Javascript中自动切换焦点实现代码
Dec 15 Javascript
给jQuery方法添加回调函数一款插件的应用
Jan 21 Javascript
jquery实现树形菜单完整代码
Dec 29 Javascript
基于bootstrap插件实现autocomplete自动完成表单
May 07 Javascript
jquery获取下拉框中的循环值
Feb 08 Javascript
JavaScript实现256色转灰度图
Feb 22 Javascript
jQuery插件echarts实现的多折线图效果示例【附demo源码下载】
Mar 04 Javascript
使用jQuery实现动态添加小广告
Jul 11 jQuery
Angular2仿照微信UI实现9张图片上传和预览的示例代码
Oct 19 Javascript
vue限制输入框只能输入8位整数和2位小数的代码
Nov 06 Javascript
用js限制网页只在微信浏览器中打开(或者只能手机端访问)
Dec 24 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 file_get_contents 函数超时的几种解决方法
2009/07/30 PHP
PHP 开源AJAX框架14种
2009/08/24 PHP
PHP随机字符串生成代码(包括大小写字母)
2013/06/24 PHP
详解PHP变量传值赋值和引用赋值变量销毁
2019/03/23 PHP
有趣的javascript数组定义方法
2010/09/10 Javascript
一个级联菜单代码学习及removeClass与addClass的应用
2013/01/24 Javascript
Jquery实现图片左右自动滚动示例
2013/09/25 Javascript
js动态控制table的tr、td增加及删除的具体实现
2014/04/30 Javascript
JavaScript获取某年某月的最后一天附截图
2014/06/23 Javascript
js实现点击按钮后给Div图层设置随机背景颜色的方法
2015/05/06 Javascript
jquery解析json格式数据的方法(对象、字符串)
2015/11/24 Javascript
基于JavaScript实现类似于百度学术高级检索功能
2016/03/02 Javascript
举例讲解jQuery中可见性过滤选择器的使用
2016/04/18 Javascript
JS/jQuery判断DOM节点是否存在的简单方法
2016/11/24 Javascript
HTML5+jQuery实现搜索智能匹配功能
2017/03/24 jQuery
js 数组详细操作方法及解析合集
2018/06/01 Javascript
js实现九宫格布局效果
2020/05/28 Javascript
python的dict,set,list,tuple应用详解
2014/07/24 Python
利用python爬取斗鱼app中照片方法实例
2017/12/03 Python
Python实现XML文件解析的示例代码
2018/02/05 Python
tensorflow获取变量维度信息
2018/03/10 Python
Python面向对象程序设计之继承与多继承用法分析
2018/07/13 Python
详解Python学习之安装pandas
2019/04/16 Python
python实现远程控制电脑
2019/05/23 Python
Python jieba库用法及实例解析
2019/11/04 Python
Python selenium 自动化脚本打包成一个exe文件(推荐)
2020/01/14 Python
如何通过python计算圆周率PI
2020/11/11 Python
python数据抓取3种方法总结
2021/02/07 Python
营业经理岗位职责
2013/11/10 职场文书
生物科学专业个人求职信范文
2013/12/07 职场文书
综合办公室主任职责
2013/12/16 职场文书
公务员保密承诺书
2014/03/27 职场文书
2014年科技工作总结
2014/11/26 职场文书
精神文明建设汇报材料
2014/12/24 职场文书
Python中with上下文管理协议的作用及用法
2022/03/18 Python
本地搭建minio文件服务器(使用bat脚本启动)的方法
2022/07/15 Servers