浅谈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 相关文章推荐
IE8下Jquery获取select选中的值post到后台报错问题
Jul 02 Javascript
javascript中实现兼容JAVA的hashCode算法代码分享
Aug 11 Javascript
jQuery验证插件validate使用详解
May 11 Javascript
JavaScript+Java实现HTML页面转为PDF文件保存的方法
May 30 Javascript
jQuery处理XML文件的几种方法
Jun 14 Javascript
ionic由于使用了header和subheader导致被遮挡的问题的两种解决方法
Sep 22 Javascript
label+input实现按钮开关切换效果的实例
Aug 16 Javascript
详解微信小程序之一键复制到剪切板
Apr 24 Javascript
微信小程序实现发送模板消息功能示例【通过openid推送消息给用户】
May 05 Javascript
vue实现短信验证码登录功能(流程详解)
Dec 10 Javascript
仿照Element-ui实现一个简易的$message方法
Sep 14 Javascript
js实现拖拽与碰撞检测
Sep 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
在DC的漫画和电影中,蝙蝠侠的宿敌,小丑的真名是什么?
2020/04/09 欧美动漫
15种PHP Encoder的比较
2007/03/06 PHP
为IP查询添加GOOGLE地图功能的代码
2010/08/08 PHP
php登陆页的密码处理方式分享
2013/10/14 PHP
PHP实现批量上传单个文件
2015/12/29 PHP
Zend Framework实现多文件上传功能实例
2016/03/21 PHP
PHP实现表单提交数据的验证处理功能【防SQL注入和XSS攻击等】
2017/07/21 PHP
JavaScript的面向对象(一)
2006/11/09 Javascript
javascript Array数组对象的扩展函数代码
2010/05/22 Javascript
jQuery getJSON()+.ashx 实现分页(改进版)
2013/03/28 Javascript
JQuery写动态树示例代码
2013/07/31 Javascript
jquery遍历筛选数组的几种方法和遍历解析json对象
2013/12/13 Javascript
JavaScript实现向OL列表内动态添加LI元素的方法
2015/03/21 Javascript
js时间控件只显示年月
2017/01/08 Javascript
vue实现长图垂直居上 vue实现短图垂直居中
2017/10/18 Javascript
微信小程序实现图片懒加载的示例代码
2017/12/13 Javascript
解决jQuery使用append添加的元素事件无效的问题
2018/08/30 jQuery
Vue 之孙组件向爷组件通信的实现
2019/04/23 Javascript
Element-UI中关于table表格的那些骚操作(小结)
2019/08/15 Javascript
vue实现百度语音合成的实例讲解
2019/10/14 Javascript
jQuery实现王者荣耀手风琴效果
2020/01/17 jQuery
Vue3不支持Filters过滤器的问题
2020/09/24 Javascript
Python设计足球联赛赛程表程序的思路与简单实现示例
2016/06/28 Python
Sanic框架流式传输操作示例
2018/07/18 Python
解决Atom安装Hydrogen无法运行python3的问题
2019/08/28 Python
Python动态导入模块:__import__、importlib、动态导入的使用场景实例分析
2020/03/30 Python
Python greenlet和gevent使用代码示例解析
2020/04/01 Python
matplotlib绘制正余弦曲线图的实现
2021/02/22 Python
音乐专业应届生教师求职信
2013/11/04 职场文书
车间调度岗位职责
2013/11/30 职场文书
生日答谢词
2015/01/05 职场文书
上课睡觉万能检讨书
2015/02/17 职场文书
教师节表彰会主持词
2015/07/06 职场文书
优秀乡村医生事迹材料(2016精选版)
2016/02/29 职场文书
用Python远程登陆服务器的步骤
2021/04/16 Python
排查并解决MySQL生产库内存使用率高的报警
2022/04/11 MySQL