码迷,mamicode.com
首页 > 编程语言 > 详细

记录这一路上的坎坷--JavaScript之字符串截取

时间:2015-09-22 18:21:08      阅读:157      评论:0      收藏:0      [点我收藏+]

标签:

  最近在项目中想尽量少用jquery,多用原生JavaScript以便更好的提高。问题就出在一个简单的index提取。这个index我是通过元素的类名来获取,因此使用element.className.substr(-1,1).

这看似没有问题,不过在ie8及之前的ie版本,获取到的却是类名的第一个字符。这便是substr存在的兼容性问题。

 

在此总结下关于字符串截取的相关方法(参考http://www.w3school.com.cn/):

string.substr(start,length) 

返回值 :一个新的字符串,包含从 stringObject 的 start(包括 start 所指的字符) 处开始的 length 个字符。如果没有指定 length,那么返回的字符串包含从 start 到 stringObject 的结尾的字符。

IE8下开始位置为负数会出现取值错误(被修正为0)。

(ECMAscript 没有对该方法进行标准化,因此反对使用它)

string.slice(start,end)

返回值:一个新的字符串。包括字符串 stringObject 从 start 开始(包括 start)到 end 结束(不包括 end)为止的所有字符。

说明

String 对象的方法 slice()、substring() 和 substr() (不建议使用)都可返回字符串的指定部分。slice() 比 substring() 要灵活一些,因为它允许使用负数作为参数。slice() 与 substr() 有所不同,因为它用两个字符的位置来指定子串,而 substr() 则用字符位置和长度来指定子串。

string.substring(start,end)

返回值:一个新的字符串,该字符串值包含 stringObject 的一个子字符串,其内容是从 start 处到 stop-1 处的所有字符,其长度为 stop 减start

说明

substring() 方法返回的子串包括 start 处的字符,但不包括 stop 处的字符。

如果参数 start 与 stop 相等,那么该方法返回的就是一个空串(即长度为 0 的字符串)。如果 start 比 stop 大,那么该方法在提取子串之前会先交换这两个参数。

记录这一路上的坎坷--JavaScript之字符串截取

标签:

原文地址:http://www.cnblogs.com/frontend/p/4829230.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!