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获取当前地理位置方法汇总
Dec 18 Javascript
javascript中判断json的方法总结
Aug 27 Javascript
使用plupload自定义参数实现多文件上传
Jul 19 Javascript
AngularJS入门教程之 XMLHttpRequest实例讲解
Jul 27 Javascript
基于jQuery的checkbox全选问题分析
Nov 18 Javascript
JQueryEasyUI之DataGrid数据显示
Nov 23 Javascript
AngularJS控制器controller给模型数据赋初始值的方法
Jan 04 Javascript
jQuery基本筛选选择器实例代码
Feb 06 Javascript
JavaScript实现各种排序的代码详解
Aug 28 Javascript
你或许不知道的一些npm实用技巧
Jul 04 Javascript
浅谈vue异步数据影响页面渲染
Oct 29 Javascript
JS实现横向跑马灯效果代码
Apr 20 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 常用字符串函数总结
2008/03/15 PHP
PHP分页显示制作详细讲解
2008/11/19 PHP
深入file_get_contents函数抓取内容失败的原因分析
2013/06/25 PHP
jquery获取多个checkbox的值异步提交给php的方法
2015/06/24 PHP
php实现数组纵向转横向并过滤重复值的方法分析
2017/05/29 PHP
(推荐一个超好的JS函数库)S.Sams Lifexperience ScriptClassLib
2007/04/29 Javascript
JQuery 初体验(建议学习jquery)
2009/04/25 Javascript
extjs 学习笔记(二) Ext.Element类
2009/10/13 Javascript
GWT中复制到剪贴板 js+flash实现复制 兼容性比较好
2010/03/07 Javascript
jQuery温习篇 强大的JQuery选择器
2010/04/24 Javascript
js parseInt("08")未指定进位制问题
2010/06/19 Javascript
jquery写个checkbox——类似邮箱全选功能
2013/03/19 Javascript
JQuery插件fancybox无法在弹出层使用左右键的解决办法
2013/12/25 Javascript
javascript简单实现图片预加载
2014/12/03 Javascript
javascript手工制作悬浮菜单
2015/02/12 Javascript
jQuery简单实现彩色云标签效果示例
2016/08/01 Javascript
js仿京东轮播效果 选项卡套选项卡使用
2017/01/12 Javascript
微信小程序页面传值实例分析
2017/04/19 Javascript
JS+HTML5实现上传图片预览效果完整实例【测试可用】
2017/04/20 Javascript
vue使用jsonp抓取qq音乐数据的方法
2018/06/21 Javascript
对vue v-if v-else-if v-else 的简单使用详解
2018/09/29 Javascript
js键盘事件实现人物的行走
2020/01/17 Javascript
Postman动态获取返回值过程详解
2020/06/30 Javascript
Python实现list反转实例汇总
2014/11/11 Python
解决PySide+Python子线程更新UI线程的问题
2019/01/11 Python
Python3.4解释器用法简单示例
2019/03/22 Python
Python+opencv 实现图片文字的分割的方法示例
2019/07/04 Python
python将数组n等分的实例
2019/12/02 Python
Scrapy项目实战之爬取某社区用户详情
2020/09/17 Python
python基于爬虫+django,打造个性化API接口
2021/01/21 Python
ECCO英国官网:丹麦鞋履品牌
2019/09/03 全球购物
美国领先的宠物用品和宠物食品零售商:Petco
2020/10/28 全球购物
社区党员志愿服务活动方案
2014/08/18 职场文书
党的群众路线教育实践活动个人自我剖析材料
2014/10/07 职场文书
教研活动主持词
2015/07/03 职场文书
车间安全生产管理制度
2015/08/06 职场文书