JavaScript字符串截取

1、String.charCodeAt
作用:指定位置的字符的 Unicode 编码
用法:String.charCodeAt(index)
参数:index 表示字符串中某个位置的数字,即字符在字符串中的下标。
返回:int Unicode 编码 是 0 – 65535 之间的整数

 

2、String.fromCharCode
作用:接受一个或一组指定的 Unicode 值,然后返回一个字符串
用法:String.fromCharCode(numX,numX,…,numX)
参数:numX int Unicode 编码 是 0 – 65535 之间的整数
返回:一个或一组的字符

 

3、String.charAt(index)
作用:指定位置的字符
用法:String.charAt(index)
参数:index 表示字符串中某个位置的数字,即字符在字符串中的下标。
返回:字符

 

4、String.substring(start,stop)
作用:提取字符串中介于两个指定下标之间的字符
用法:String.substring(start,stop)
参数:start 必需。一个非负的整数,要提取的子串的第一个字符在 stringObject 中的位置。
stop 可选。一个非负的整数,比要提取的子串的最后一个字符在 stringObject 中的位置多 1。
返回:字符串

 

5、String.substr(start,length)
作用:在字符串中抽取从 start 下标开始的指定数目的字符
用法:String.substr(start,length)
参数:start 必需。要抽取的子串的起始下标。必须是数值。如果是负数,那么该参数声明从字符串的尾部开始算起的位置。
ength 可选。子串中的字符数。必须是数值。如果省略了该参数,那么返回从 String 的开始位置到结尾的字串。
返回:字符串

 

6、String.slice(start,end)
作用:提取字符串的某个部分,并以新的字符串返回被提取的部分
用法:String.slice(start,end)
参数:start 要抽取的片断的起始下标。如果是负数,则该参数规定的是从字符串的尾部开始算起的位置。
end 紧接着要抽取的片段的结尾的下标。若未指定此参数,则要提取的子串包括 start 到原字符串结尾的字符串。
返回:字符串

 

 

/**
 * 格式化中英文字符串
 * 多字节字符,是按双字节宽度截取的
 *
 * @param str  字符串
 * @param len  截取的字节数
 * @params end_str 省略符号
 *
 * @return 字符串
 *
 */
function format_string(str,len,end_str)
{
	//获取省略符号
	var end_str = end_str || '...';

	//获取总的字节数
	var ll = str.length;

	//字节数
	var i = 0;

	//显示字节数
	var l = 0; 	

	//返回的字符串
	var s = str;

	while (i < ll)
	{
		//如果是1字节的字符
		if (str.charCodeAt(i) < 0x80) {
			l++;
		}
		//如果是多字节的字符
		else
		{
			l += 2;
		}

		i++;

		//如果显示字节达到所需长度
		if (l >= len)
		{
			//截取字符串
			s = str.substring(0, i);

			//如果所需字符串字节数,小于原字符串字节数
			if (i < ll)
			{
				//则加上省略符号
				s = s + end_str;
			}

			//跳出字符串截取
			break;
		}
	}

	//返回所需字符串
	return s;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值