当前位置: 首页 > 图文教程 > 网络编程 > Javascript > 用javascript实现截取字符串包含中文处理的函数

Javascript
RDF:Web数据集成的元数据解决方案
你的IP
弹出精彩-弹出式菜单详解
在Web网页上使用VBScript 和JScript
图档结构树的设计与关联
JavaScript电子表
输入日期之改进模式
如果你想打开一个新页面时给浏览者一些惊喜的话,试试这个
HTML文档中用JavaScript调用Microsoft Agent的COM接口编程
JavaScript修改注册表
JavaScript构造XML树结构
一个很不错的主页效果。。你试试!!!
一个用js加密的好玩的东东
在网页上显示一个会移动的透明时钟的代码。。。
如何显示年月日及星期问题
javascript手冊-c
javascript手冊-d
javascript手冊-f
javascript手冊-g
javascript手冊-i

Javascript 中的 用javascript实现截取字符串包含中文处理的函数


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 260 ::
收藏到网摘: n/a

一直不知道js可以截取中文字符,呵呵,原理用正则表达式,匹配中文的长度,中文算两个,因为算一个,是个好东西,推荐大家收藏

复制代码 代码如下:

/* 2007-11-28 XuJian */
//截取字符串 包含中文处理
//(串,长度,增加...)
function subString(str, len, hasDot)
{
var newLength = 0;
var newStr = "";
var chineseRegex = /[^\x00-\xff]/g;
var singleChar = "";
var strLength = str.replace(chineseRegex,"**").length;
for(var i = 0;i < strLength;i++)
{
singleChar = str.charAt(i).toString();
if(singleChar.match(chineseRegex) != null)
{
newLength += 2;
}
else
{
newLength++;
}
if(newLength > len)
{
break;
}
newStr += singleChar;
}
if(hasDot && strLength > len)
{
newStr += "...";
}
return newStr;
}

点击运行可以看到效果:
[Ctrl+A 全选 提示:你可先修改部分代码,再按运行]