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

  最近在项目中想尽量少用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 大,那么该方法在提取子串之前会先交换这两个参数。

时间: 2024-08-11 01:35:28

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

记录这一路上的坎坷--JavaScript之event

今天逛博客园偶然间看到一篇关于event对象的文章,个人感觉有个地方写的不对,因此想在此表达下自己的观点.首先大致描述下关于event对象. event 事件的处理分别经过捕获阶段.目标阶段.事件冒泡阶段这3个阶段. 捕获阶段 在捕获阶段,事件将会从window对象开始向下遍历DOM树来传播(如果注册了事件侦听器则会在捕获阶段执行相应的处理) 目标阶段 在这一阶段中,被事件目标注册的事件侦听器将会被执行. 事件冒泡阶段 在这一阶段,事件的传播方式是从事件目标开始向上遍历DOM树,直至window

JavaScript中字符串截取substring/substr/slice方法总结

最近整前台总多多少少遇到一些字符串截取的小问题,忍不住仔细看了下.接下来总结一下javascript中字符串截取方法的一些应用经验和区别.看了其他博主也有写到,各有风格况且只是个人随记,自己体会的才最深刻. 一些看似简单深究又大有文章的东西弄懂了你才知道自己所学甚浅,部分内容是w3cSchool原文,然后增加了自己的总结和见解.看完有兴趣的也可以去官网查看. 以下为总结: var str = "0123456789"; //此字符串为上下文举例用 一.stringObject.subs

JavaScript中英文 字符串截取

/** * 中英文字符串截取 * @param str 要截取的字符串 * @param len 要截取的长度 * @param hasDot 是否在字符串末尾增加'...' * @returns {string} * */ function mySubString (str, len, hasDot){ var newLength = 0; var newStr = ""; var chineseRegex = /[^\x00-\xff]/g; var singleChar = &q

前端学习笔记之九——原生JavaScript实现字符串截取

作业题目如下: ---------------------------------------------------------------- 字符串截取的方法有slice(start,end+1),substring(start,end+1),substr(start,n).他们之间在用法方面也有一些相同或不同. slice(start,end+1):两个参数时,参数指截取位置,截取含头不含尾:一个参数时,默认截取到字符串结尾.参数可以为负数,负数就倒着数位置. substring(star

Javascript 中英文字符串截取

1 /** 2 * 中英文字符串截取 3 * @param str 要截取的字符串 4 * @param len 要截取的长度 5 * @param hasDot 是否在字符串末尾增加'...' 6 * @returns {string} 7 * 8 */ 9 10 function mySubString (str, len, hasDot){ 11 var newLength = 0; 12 var newStr = ""; 13 var chineseRegex = /[^\x0

JavaScript substr() 字符串截取函数使用详解

substr 定义和用法 substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符. 语法 stringObject.substr(start,length) 如果 length 为 0 或负数,将返回一个空字符串.如果没有指定该参数,则子字符串将延续到 stringvar 的最后. 示例 下面的示例演示了substr 方法的用法. 1.截取字符串第一个字符. <script type="text/javascript"> var str="

javascript中字符串截取的两种方法

var testStr = "hello kay!"; 1.substr testStr.substr(1)   ->ello kay! testStr.substr(1,4) ->ello (4是长度) 2.substring testStr.substring(1)   ->ello kay! testStr.substr(1,4) ->ello(4是第4个字符)

javascript中字符串格式转化成json对象记录

什么是JSON JSON(JavaScript Object Notation)是一种优美的JavaScript对象创建方法.JSON也是一种轻量级数据交换格式.JSON非常易于人阅读与编写,同时利于机器解析与生成.JSON是在AJAX中代替XML交换数据的更佳方案. JSON格式与语法 var jsonobject= {         //对象内的属性语法(属性名与属性值是成对出现的)         propertyname:value, //对象内的函数语法(函数名与函数内容是成对出现的

Javascript 解析字符串生成 XML DOM 对象。

Javascript 接收字符串生成 XML DOM 对象.实测对 Firefox .IE6 有效.可用于解析 ajax 的服务器响应结果,也可用于解析自定义字符串.?1. [代码]函数   ppt模版  /** * Parses DOM from XML text.<br /> *  * @author Typhoon.Free.Wolf * @version 2014-02-28_15-51 * @param blDebugFlag *      - Debug flag: true, f