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脚本语言在网页中的简单应用
May 13 Javascript
JQuery记住用户名和密码的具体实现
Apr 04 Javascript
jquery delay()介绍及使用指南
Sep 02 Javascript
小巧强大的jquery layer弹窗弹层插件
Dec 06 Javascript
Seajs 简易文档 提供简单、极致的模块化开发体验
Apr 13 Javascript
js 基础篇必看(点击事件轮播图的简单实现)
Aug 20 Javascript
Vue实现动态创建和删除数据的方法
Mar 17 Javascript
基于mpvue的小程序项目搭建的步骤
May 22 Javascript
小程序云函数调用API接口的方法
May 17 Javascript
生成无限制的微信小程序码的示例代码
Sep 20 Javascript
15分钟上手vue3.0(小结)
May 20 Javascript
vue-video-player 断点续播的实现
Feb 01 Vue.js
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 简单数组排序实现代码
2009/08/05 PHP
php数组转换js数组操作及json_encode的用法详解
2013/10/26 PHP
php合并数组中相同元素的方法
2014/11/13 PHP
ecshop 2.72如何修改后台访问地址
2015/03/03 PHP
在你的网页中嵌入外部网页的方法
2007/04/02 Javascript
Stop SQL Server
2007/06/21 Javascript
Javascript 日期处理之时区问题
2009/10/08 Javascript
javascript面向对象包装类Class封装类库剖析
2013/01/24 Javascript
利用js 进行输入框自动匹配字符的小例子
2013/06/29 Javascript
3种不同方式的焦点图轮播特效分享
2013/10/30 Javascript
Area 区域实现post提交数据的js写法
2014/04/22 Javascript
在NodeJS中启用ECMAScript 6小结(windos以及Linux)
2014/07/15 NodeJs
使用jquery.validate自定义方法实现"手机号码或者固话至少填写一个"的逻辑验证
2014/09/01 Javascript
JavaScript模拟实现键盘打字效果
2015/06/29 Javascript
浅谈JS继承_借用构造函数 & 组合式继承
2016/08/16 Javascript
javascript 判断页面访问方式电脑或者移动端
2016/09/19 Javascript
jquery获取点击控件的绝对位置简单实例
2016/10/13 Javascript
利用vue写todolist单页应用
2016/12/15 Javascript
Bootstrap面板使用方法
2017/01/16 Javascript
Javascript es7中比较实用的两个方法示例
2017/07/21 Javascript
vue-router 手势滑动触发返回功能
2018/09/30 Javascript
Python中的生成器和yield详细介绍
2015/01/09 Python
浅谈django model的get和filter方法的区别(必看篇)
2017/05/23 Python
python处理csv中的空值方法
2018/06/22 Python
基于Python批量生成指定尺寸缩略图代码实例
2019/11/20 Python
Python OpenCV读取中文路径图像的方法
2020/07/02 Python
python -v 报错问题的解决方法
2020/09/15 Python
python 基于opencv 绘制图像轮廓
2020/12/11 Python
纯css3实现走马灯效果
2014/12/26 HTML / CSS
HTML5拖放API实现拖放排序的实例代码
2017/05/11 HTML / CSS
加拿大最大的体育用品、鞋类和服装零售商:Sport Chek
2018/11/29 全球购物
拉斯维加斯酒店、演出、旅游、俱乐部及更多:Vegas.com
2019/02/28 全球购物
婚庆司仪主持词
2014/03/15 职场文书
法律专业大学生职业生涯规划书:向目标一步步迈进
2014/09/22 职场文书
贫困生证明范文
2015/06/16 职场文书
Nginx图片服务器配置之后图片访问404的问题解决
2022/03/21 Servers