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 相关文章推荐
javascript 通用loading动画效果实例代码
Jan 14 Javascript
JavaScript 变量、作用域及内存
Apr 08 Javascript
Jquery简单实现GridView行高亮的方法
Jun 15 Javascript
javascript常用的方法分享
Jul 01 Javascript
DEDECMS如何为文章添加HOT NEW标志图片
Aug 14 Javascript
vue获取input输入值的问题解决办法
Oct 17 Javascript
bootstrap模态框嵌套、tabindex属性、去除阴影的示例代码
Oct 17 Javascript
Angular实现的table表格排序功能完整示例
Dec 22 Javascript
Node.js Buffer用法解读
May 18 Javascript
Vue条件循环判断+计算属性+绑定样式v-bind的实例
Sep 18 Javascript
Vue中的作用域CSS和CSS模块的区别
Oct 09 Javascript
使用vue-cli脚手架工具搭建vue-webpack项目
Jan 14 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面向对象全攻略 (三)特殊的引用“$this”的使用
2009/09/30 PHP
PHP 5.3和PHP 5.4出现FastCGI Error解决方法
2015/02/12 PHP
PHP实现仿Google分页效果的分页函数
2015/07/29 PHP
php过滤所有的空白字符(空格、全角空格、换行等)
2015/10/27 PHP
php安装扩展mysqli的实现步骤及报错解决办法
2017/09/23 PHP
详细解读php的命名空间(二)
2018/02/21 PHP
浅谈PHPANALYSIS提取关键字
2019/03/08 PHP
为jquery.ui.dialog 增加“自动记住关闭时的位置”的功能
2009/11/24 Javascript
js判断生效时间不得大于失效时间的思路及代码
2013/04/23 Javascript
JS对文本框值的判断示例
2014/03/10 Javascript
Google Maps API地图应用示例分享
2014/10/23 Javascript
jQuery的animate函数实现图文切换动画效果
2015/05/03 Javascript
深入理解Node中的buffer模块
2017/06/03 Javascript
JavaScript设计模式之命令模式实例分析
2019/01/16 Javascript
js实现简单的日历显示效果函数示例
2019/11/25 Javascript
JS script脚本中async和defer区别详解
2020/06/24 Javascript
Python实现windows下模拟按键和鼠标点击的方法
2015/03/13 Python
初学python的操作难点总结(新手必看篇)
2017/08/03 Python
python使用邻接矩阵构造图代码示例
2017/11/10 Python
浅谈python3发送post请求参数为空的情况
2018/12/28 Python
用Python解数独的方法示例
2019/10/24 Python
Python selenium键盘鼠标事件实现过程详解
2020/07/28 Python
彻底弄明白CSS3的Media Queries(跨平台设计)
2010/07/27 HTML / CSS
iRobot官网:改变生活的家用机器人品牌
2016/09/20 全球购物
DJI美国:消费类无人机领域的领导者
2018/04/27 全球购物
七年级政治教学反思
2014/02/03 职场文书
监察建议书范文
2014/03/12 职场文书
工程承包协议书
2014/10/20 职场文书
2015年幼儿园元旦游艺活动策划书
2014/12/09 职场文书
优秀教育工作者事迹材料
2014/12/24 职场文书
思想政治表现评语
2015/01/04 职场文书
2015年社区科普工作总结
2015/05/13 职场文书
“学党章、守党纪、讲党规”学习心得体会
2016/01/14 职场文书
职业规划从高考志愿专业选择开始
2019/08/08 职场文书
Golang 语言控制并发 Goroutine的方法
2021/06/30 Golang
css3 文字断裂效果
2022/04/22 HTML / CSS