javascript字符串截取的substring、substr和slice
本文详细的介绍了javascript中substring()、substr()和slice()三个JS字符串截取的方法,substring()方法用于提取字符串中介于两个指定下标之间的字符.substr 方法用于返回一个从指定位置开始的指定长度的子字符串。
substring
方法用于提取字符串中介于两个指定下标之间的字符
substring(start,end)
| 参数 | 描述 | 
| start | 必需。一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置。 | 
| stop | 可选。一个非负的整数,比要提取的子串的最后一个字符在 stringObject 中的位置多 1。
 如果省略该参数,那么返回的子串会一直到字符串的结尾。  | 
返回值
一个新的字符串,该字符串值包含 stringObject 的一个子字符串,其内容是从 start 处到 stop-1 处的所有字符,其长度为 stop 减 start。
说明
substring 方法返回的子串包括 start 处的字符,但不包括 end 处的字符。
如果 start 与 end 相等,那么该方法返回的就是一个空串(即长度为 0 的字符串)。
如果 start 比 end 大,那么该方法在提取子串之前会先交换这两个参数。
如果 start 或 end 为负数,那么它将被替换为 0。
2.substr 方法
定义和用法
substr 方法用于返回一个从指定位置开始的指定长度的子字符串。
语法
stringObject.substr(start [, length ])
| 参数 | 描述 | 
| start | 必需。所需的子字符串的起始位置。字符串中的第一个字符的索引为 0。 | 
| length | 可选。在返回的子字符串中应包括的字符个数。 | 
说明
如果start为负数,则start=str.length+start。
如果 length 为 0 或负数,将返回一个空字符串。
如果没有指定该参数,则子字符串将延续到stringObject的最后。
首先,他们都接收两个参数,slice和substring接收的是起始位置和结束位置(不包括结束位置),而substr接收的则是起始位置和所要返回的字符串长度。直接看下面例子:
var test = 'hello world';
alert(test.slice(4,7));             //o w
alert(test.substring(4,7));         //o w
alert(test.substr(4,7));            //o world
这里有个需要注意的地方就是:substring是以两个参数中较小一个作为起始位置,较大的参数作为结束位置。
alert(test.substring(7,4));          //o w
接着,当接收的参数是负数时,slice会将它字符串的长度与对应的负数相加,结果作为参数;substr则仅仅是将第一个参数与字符串长度相加后的结果作为第一个参数;substring则干脆将负参数都直接转换为0。测试代码如下
var test = 'hello world';
alert(test.slice(-3));         //rld
alert(test.substring(-3));     //hello world
alert(test.substr(-3));        //rld
alert(test.slice(3,-4));       //lo w
alert(test.substring(3,-4));   //hel
alert(test.substr(3,-4));      //空字符串
1 注意:IE对substr接收负值的处理有错,它会返回原始字符串。
javascript字符串截取的substring、substr和slice的更多相关文章
- JavaScript 字符串操作:substring, substr, slice
		
在 JavaScript 中,对于字符串的操作有 substring, substr, slice 等好多个内置函数,这里给大家推荐一篇介绍 substring, substr, slice 三者区别 ...
 - JS中数组和字符串具有的方法,以及substring,substr和slice的用法与区别
		
String 对象属性 属性 描述 constructor 对创建该对象的函数的引用 length 字符串的长度 prototype 允许您向对象添加属性和方法 String 对象方法 方法 描述 ...
 - Mysql字符串截取函数SUBSTRING的用法说明
		
感觉上MySQL的字符串函数截取字符,比用程序截取(如PHP或JAVA)来得强大,所以在这里做一个记录,希望对大家有用. 函数: 1.从左开始截取字符串 left(str, length) 说明:le ...
 - js字符串函数之substring() substr()
		
substring 方法用于提取字符串中介于两个指定下标之间的字符 substring(start,end) 开始和结束的位置,从零开始的索引 参数 描述start 必需.一个非负的整 ...
 - substring,substr,和slice的区别详解。
		
1.Substring(x,y) : 输出一个字符串,当其中只有一个参数时,会输出从x开始到结尾的String. 举例: var str="hello"; conso ...
 - Java 字符串截取函数 substring()
		
在String中有两个substring()函数,如下: 一:String.substring(int start) 参数: start:要截取位置的索引 返回: 从start开始到结束的字符串 例如 ...
 - SQL中字符串截取函数(SUBSTRING)
		
1.left(name,4)截取左边的4个字符 列: SELECT LEFT(201809,4) 年 结果:2018 2.right(name,2)截取右边的2个字符 SELECT RIGHT(201 ...
 - 字符串截取,SubString
		
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAk8AAACYCAIAAAByAZqHAAAYgklEQVR4nO2dL28ku5qHTS4ctuTSQf ...
 - javascript、jquery 、C#、sqlserveer、mysql、oracle中字符串截取的区别和用法
		
下标从0开始 ,并且包括起始位 javascript 中字符串截取 : substring(Number start,Number end) var substr = "liuguangfa ...
 
随机推荐
- SpringMVC学习--拦截器
			
简介 Spring Web MVC 的处理器拦截器类似于Servlet 开发中的过滤器Filter,用于对处理器进行预处理和后处理. 拦截器定义 定义拦截器,实现HandlerInterceptor接 ...
 - 控制器中获取store
			
在Controller中要获取View中的选中值我用[javascript] view plaincopyprint?var cmp = Ext.ComponentQuery.query('weldl ...
 - extJs学习基础3 ajax与php交互
			
extJs代码: <script src="build/ext-all.js"></script> <script src="build/p ...
 - android与网络的交互
			
有三种方式: 数据下载,数据上传,数据浏览 URL中一些符号 ?分隔URL和参数 &URL中参数之间的分隔符 =URL中参数对应的值
 - ubuntu 下mysql中文乱码问题解决方案
			
mysql> show variables like 'character%';+--------------------------+----------------------------+ ...
 - mysql优化基础
			
唯一索引(unique index)强调唯一,就是索引值必须唯一. create unique index [索引名] on 表名 (列名);alter table 表名 add unique ind ...
 - 小 div在大 div中左右上下居中
			
<!DOCTYPE HTML><html><head> <meta http-equiv="Content-Type" content=& ...
 - mssql-异常value '0000-00-00' can not be represented as java.sql.Date
			
Mysql开发中采用ResultSet取值時,不管是才用getString()还是用getDate(),或者getObject,均会拋出如题所述异常.查阅Mysql官方Bug咨询: 是因为日期型(Da ...
 - python安装失败0x80240017
			
安装KB2999226更新补丁后, 可以正常安装python3.5. 此更新包在vs2015的patch包里有.Microsoft下载中心也有,这里列出的适用于win7x86: Windows 7 更 ...
 - C# 不支持关键字: “.;database”。
			
解决方案分析:这个一定是链接字符串有问题,核对web.config 和程序的字符串是否有误