浅谈Javascript中substr和substring的区别


Posted in Javascript onSeptember 30, 2015

 由于在项目中有需要对字符串进行截取,然后手残使用了IDE自动提示的substr,没想那么多以为substr和substring没多大区别。

然而并不是,且听我一一道来。

1. substr(index, length)

  从起始索引号提取字符串中指定数目的字符。

  substr方法可以传入两个参数 index和length。index是起始位,length是截取的长度。

  当index是个非负整数时:

    a. 如果不传入参数,则得到的还是字符串本身。

        如: "abcdefg".substr() -> "abcdefg"

    b. 如果只传入一个参数,即index,则默认截取到字符串最后一位。

        如: "abcdefg".substr(2) -> "defg".

  当index是个负整数时:

    c. 如果传入一个负整数下标位则从后往前数,起始位为1,到达负整数绝对值的下标位,截取则是从前往后。

        如: "abcdefg".substr(-2) -> "fg"  <=> "abcdefg".substr(-2 + "abcdefg".length)

2. substring(start, end)

  提取字符串中介于两个指定下标之间的字符。

  substring也是传入两个参数,但是这两个参数都是下标数字,下标从0开始计算,截取的长度是这两个下标的差

  可以记作"含头不含尾"

  如: "abcdefg".substring(2,4) -> "cd"

Javascript 相关文章推荐
一段好玩的JavaScript代码
Dec 01 Javascript
jquery获得页面元素的坐标值实现思路及代码
Apr 15 Javascript
首页图片漂浮效果示例代码
Jun 05 Javascript
获取中文字符串的实际长度代码
Jun 05 Javascript
两种方法基于jQuery实现IE浏览器兼容placeholder效果
Oct 14 Javascript
javascript鼠标滑动评分控件完整实例
May 13 Javascript
Javascript 计算字符串在localStorage中所占字节数
Oct 21 Javascript
BootStrap实现邮件列表的分页和模态框添加邮件的功能
Oct 13 Javascript
Vue.js实现一个todo-list的上移下移删除功能
Jun 26 Javascript
关于Ajax的原理以及代码封装详解
Sep 08 Javascript
vue 监听键盘回车事件详解 @keyup.enter || @keyup.enter.native
Aug 25 Javascript
js数组的基本使用总结
Jan 18 Javascript
jQuery复制表单元素附源码分享效果演示
Sep 30 #Javascript
js实现创建删除html元素小结
Sep 30 #Javascript
node.js下LDAP查询实例分享
Sep 30 #Javascript
Javascript中replace()小结
Sep 30 #Javascript
利用jQuery实现漂亮的圆形进度条倒计时插件
Sep 30 #Javascript
谈谈JavaScript异步函数发展历程
Sep 29 #Javascript
JavaScript 对象深入学习总结(经典)
Sep 29 #Javascript
You might like
php生成二维码时出现中文乱码的解决方法
2014/12/18 PHP
thinkphp实现163、QQ邮箱收发邮件的方法
2015/12/18 PHP
php获取数据库中数据的实现方法
2017/06/01 PHP
PHP 8新特性简介
2020/08/18 PHP
baidu博客的编辑友情链接的新的层窗口!经典~支持【FF】
2007/02/09 Javascript
jQuery UI AutoComplete 使用说明
2011/06/20 Javascript
表单序列化与jq中的serialize使用示例
2014/02/21 Javascript
node.js中的fs.utimesSync方法使用说明
2014/12/15 Javascript
js实现键盘上下左右键选择文字并显示在文本框的方法
2015/05/07 Javascript
JavaScript第一篇之实现按钮全选、功能
2016/08/21 Javascript
js+canvas实现动态吃豆人效果
2017/03/22 Javascript
js事件委托和事件代理案例分享
2017/07/25 Javascript
jQuery实现基本淡入淡出效果的方法详解
2018/09/05 jQuery
Node.js Windows Binary二进制文件安装方法
2019/05/16 Javascript
React精髓!一篇全概括小结(急速)
2019/05/23 Javascript
在vue和element-ui的table中实现分页复选功能
2019/12/04 Javascript
Vue实现base64编码图片间的切换功能
2019/12/04 Javascript
解决新建一个vue项目过程中遇到的问题
2020/10/22 Javascript
Python中的Numeric包和Numarray包使用教程
2015/04/13 Python
Python通过poll实现异步IO的方法
2015/06/04 Python
基于Python如何使用AIML搭建聊天机器人
2016/01/27 Python
深入解析Python中的线程同步方法
2016/06/14 Python
最大K个数问题的Python版解法总结
2016/06/16 Python
Python清空文件并替换内容的实例
2018/10/22 Python
详解centos7+django+python3+mysql+阿里云部署项目全流程
2019/11/15 Python
Python如何操作office实现自动化及win32com.client的运用
2020/04/01 Python
为什么说python适合写爬虫
2020/06/11 Python
python从ftp获取文件并下载到本地
2020/12/05 Python
matplotlib实现数据实时刷新的示例代码
2021/01/05 Python
汽车电子与维修专业大学生求职信
2013/09/28 职场文书
蛋糕店创业计划书
2014/05/06 职场文书
初中政治教师教学反思
2016/02/23 职场文书
2016年村干部公开承诺书(公开承诺事项)
2016/03/25 职场文书
建国70周年的心得体会(2篇)
2019/09/20 职场文书
CocosCreator如何实现划过的位置显示纹理
2021/04/14 Javascript
面试分析分布式架构Redis热点key大Value解决方案
2022/03/13 Redis