需求: 所有非ASCII码算2个字符长度, ASCII码算1个字符长度, 进行字符串的截取
/**
* @param begin 截取开始的索引
* @param num 截取的长度
*/
String.prototype.chinesesubstr = (function(begin, num) {
var ascRegexp = /[^/x00-/xFF]/g, i = 0;
while(i < begin) (i ++ && this.charAt(i).match(ascRegexp) && begin --);
i = begin;
var end = begin + num;
while(i < end) (i ++ && this.charAt(i).match(ascRegexp) && end --);
return this.substring(begin, end);
});
用法:
将上面代码置于调用之前.
示例:
'中华人民共和国China万岁'.chinesesubstr(3, 10);
返回: "人民共和国C"
解释: "中华"4个字符, 从3开始, 也就是"华"字的第二个字符, 所以, 返回结果包含9个字符, 因为"华"取到半个字.
分享到:
相关推荐
javascript string和array常用扩展方法
javascript-原型与原型链
深入理解javascript原型和闭包(01)——一切都是对象 深入理解javascript原型和闭包(02)——函数和对象的关系
JavaScript String 对象参考手册
String 的扩展方法集合,可以是javascript对string的功能更多
浅析Javascript原型继承,浅析Javascript原型继承
深度探讨javascript函数的原型链和闭包
怎样用JavaScript实现原型模式 概述 原型模式是指原型实例指向创建对象的种类,并通过拷贝这些原型创建新的对象,是一种用来创建对象的模式,也就是创建一个对象作为另一个对象的prototype属性; prototype警告...
javascript Map原型,对象,实现javascript中的Map数据类型功能
matlab开发-未经许可的Javascriptstring。手动解释可能包含转义字符的javascript字符串。
javascript实现对图片的截取(根据拖动层实现对图片截取部分的定位)
便于英文和中文的区别,这个是专门截取字符串的,例如英文abcd截取4位,中文值截取2位!很简单!
BitVector CookieUtil DES FileUtil HttpUtil ImageFile JavaScriptString JsonHelper StringUtil Thumbnail Utils WebFileInfo
JavaSciptDOM基本操作,JavaScipt函数基础,JavaScipt流程语句,JavaScript变量,JavaScript数据类型,JavaScript数组,JavaScript正则表达式,JavaScript字符串函数,Window对象等图解。JS高手进阶的工具图谱
实验3扩展JavaScript框架应用.pdf
javascript prototype原型操作笔记.docx
理解Javascript原型继承原理
javascript原型和闭包
Javascript原型继承Javascript原型继承Javascript原型继承
NULL 博文链接:https://lspgdut.iteye.com/blog/2175368