javascript中substring()、substr()、slice()的区别


Posted in Javascript onAugust 30, 2015

stringObject.substring(start,stop) 用于提取字符串中介于两个指定下标之间的字符。

start必需。一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置。

stop可选。一个非负的整数,比要提取的子串的最后一个字符在 stringObject 中的位置多 1。如果省略该参数,那么返回的子串会一直到字符串的结尾。

start从0开始 到stop(不包含stop)结束 不接受负的参数。

stringObject.substr(start,length)可在字符串中抽取从start下标开始的指定数目的字符

start 必需。要抽取的子串的起始下标。必须是数值。如果是负数,那么该参数声明从字符串的尾部开始算起的位置。也就是说,-1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推。

length 可选。子串中的字符数。必须是数值。如果省略了该参数,那么返回从 stringObject 的开始位置到结尾的字串。

stringObject.slice(start,end)提取字符串的某个部分,并以新的字符串返回被提取的部分

start 要抽取的片断的起始下标。如果是负数,则该参数规定的是从字符串的尾部开始算起的位置。也就是说,-1 指字符串的最后一个字符,-2 指倒数第二个字符,以此类推。

end 紧接着要抽取的片段的结尾的下标。若未指定此参数,则要提取的子串包括 start 到原字符串结尾的字符串。如果该参数是负数,那么它规定的是从字符串的尾部开始算起的位置。

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

string.slice()
string.substring()
string.substr()
 
var stringValue = “hello world”;
alert(stringValue.slice(3));          //”lo world”
alert(stringValue.substring(3));      //”lo world”
alert(stringValue.substr(3));        //”lo world”
alert(stringValue.slice(3,7));         //”lo w”
alert(stringValue.substring(3,7));    //”lo w”
alert(stringValue.substr(3,7));       //”lo worl”

三者如果只有一个参数n 则会从第n个位置开始返回剩余字符串(从0开始计算位置)

如果有两个参数n,m,slice与substring会从第n个位置开始返回到第m个位置(不包括第m位置)的字符串,而substr会返回从第n个位置开始的m个字符。
———————————————————————————————
 

string.slice()
string.substring()
string.substr()
var stringValue = “hello world”;
alert(stringValue.slice(-3));          //”rld”
alert(stringValue.substring(-3));      //”hello world”
alert(stringValue.substr(-3));        //”rld”
alert(stringValue.slice(3,-4));         //”lo w”
alert(stringValue.substring(3,-4));    //”hel”
alert(stringValue.substr(3,-4));       //”"(空字符串)

当参数是负值情况下,slice将传入负值与字符串长度(string.length)相加,substr会将负的第一个参数加上字符串长度,第二个转换为0,substring会将所有负值都转换成0。

IE的JavaScript实现在处理向substr()方法传递负值的情况时存在问题,它会返回原始的字符串。

Javascript 相关文章推荐
一段非常简单的让图片自动切换js代码
Nov 10 Javascript
JQuery 选择和过滤方法代码总结
Nov 19 Javascript
ASP.NET jQuery 实例14 在ASP.NET form中校验时间范围
Feb 03 Javascript
JS中setInterval、setTimeout不能传递带参数的函数的解决方案
Apr 28 Javascript
javascript实现动态标签云
Oct 16 Javascript
微信小程序 高德地图SDK详解及简单实例(源码下载)
Jan 11 Javascript
微信小程序 解析网页内容详解及实例
Feb 22 Javascript
vue 粒子特效的示例代码
Sep 19 Javascript
jQuery实现简单的回到顶部totop功能示例
Oct 16 jQuery
JS实现面向对象继承的5种方式分析
Jul 21 Javascript
JavaScript实现左右滚动电影画布
Feb 06 Javascript
Vue路由切换页面不更新问题解决方案
Jul 10 Javascript
IE8下jQuery改变png图片透明度时出现的黑边
Aug 30 #Javascript
javascript中sort() 方法使用详解
Aug 30 #Javascript
javascript中的正则表达式使用详解
Aug 30 #Javascript
jQuery鼠标事件汇总
Aug 30 #Javascript
简单谈谈javascript中的变量、作用域和内存问题
Aug 30 #Javascript
jquery专业的导航菜单特效代码分享
Aug 29 #Javascript
js实现基于正则表达式的轻量提示插件
Aug 29 #Javascript
You might like
php判断文件上传类型及过滤不安全数据的方法
2014/12/17 PHP
php微信开发之关注事件
2018/06/14 PHP
Laravel 微信小程序后端实现用户登录的示例代码
2019/11/26 PHP
让firefox支持IE的一些方法的javascript扩展函数代码
2010/01/02 Javascript
Draggable Elements 元素拖拽功能实现代码
2011/03/30 Javascript
js自动生成的元素与页面原有元素发生堆叠的解决方法
2013/10/24 Javascript
Jquery 切换不同图片示例代码
2013/12/05 Javascript
在JavaScript中使用开平方根的sqrt()方法
2015/06/15 Javascript
基于jquery实现简单的手风琴特效
2015/11/24 Javascript
实例详解jQuery结合GridView控件的使用方法
2016/01/04 Javascript
AngularJS基础 ng-repeat 指令简单示例
2016/08/03 Javascript
实现两个文本框同时输入的实例
2017/09/25 Javascript
微信小程序实现的图片保存功能示例
2019/04/24 Javascript
使用vuex解决刷新页面state数据消失的问题记录
2019/05/08 Javascript
通过扫小程序码实现网站登陆功能
2019/08/22 Javascript
Vue通过Blob对象实现导出Excel功能示例代码
2020/07/31 Javascript
微信小程序调用后台service教程详解
2020/11/06 Javascript
使用Python的Twisted框架编写非阻塞程序的代码示例
2016/05/25 Python
Python 专题三 字符串的基础知识
2017/03/19 Python
用Python实现随机森林算法的示例
2017/08/24 Python
python使用Flask操作mysql实现登录功能
2018/05/14 Python
python 每天如何定时启动爬虫任务(实现方法分享)
2018/05/21 Python
详解python tkinter教程-事件绑定
2019/03/28 Python
Python中变量的输入输出实例代码详解
2019/07/28 Python
Pytorch模型迁移和迁移学习,导入部分模型参数的操作
2021/03/03 Python
Lacoste美国官网:经典POLO衫品牌
2016/10/12 全球购物
海信商城:海信电视、科龙空调、容声冰箱官方专卖
2017/02/07 全球购物
瑜伽灵感珠宝:Satya Jewelry
2018/01/06 全球购物
For Art’s Sake官网:手工制作的奢华眼镜
2018/12/15 全球购物
文员个人的求职信范文
2013/09/26 职场文书
大学生职业规划范文:象牙塔生活的四年计划
2014/01/14 职场文书
装饰活动策划方案
2014/02/11 职场文书
党组织公开承诺书
2014/03/29 职场文书
大学生求职计划书
2014/04/30 职场文书
领导欢迎词致辞
2015/01/23 职场文书
如何在Mac上通过docker配置PHP开发环境
2021/05/29 PHP