浅谈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中“基本类型”之争小结
Jan 03 Javascript
从jquery的过滤器.filter()方法想到的
Sep 29 Javascript
showModalDialog模态对话框的使用详解以及浏览器兼容
Jan 11 Javascript
iframe里面的元素触发父窗口元素事件的jquery代码
Oct 19 Javascript
JS控制弹出新页面窗口位置和大小的方法
Mar 02 Javascript
js实现仿MSN带关闭功能的右下角弹窗代码
Sep 04 Javascript
EditPlus 正则表达式 实战(3)
Dec 15 Javascript
从零学习node.js之利用express搭建简易论坛(七)
Feb 25 Javascript
vue动画效果实现方法示例
Mar 18 Javascript
layui 富文本编辑器和textarea值的相互传递方法
Sep 18 Javascript
解决layui数据表格Date日期格式的回显Object的问题
Sep 19 Javascript
vue中实现回车键登录功能
Feb 19 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
实用函数9
2007/11/08 PHP
PHP入门学习笔记之一
2010/10/12 PHP
解析PHP 5.5 新特性
2013/07/02 PHP
php中filter函数验证、过滤用户输入的数据
2014/01/13 PHP
php实现的xml操作类
2016/01/15 PHP
yii框架结合charjs实现统计30天数据的方法
2020/04/04 PHP
基于jquery的一个拖拽到指定区域内的效果
2011/09/21 Javascript
javascript与cookie 的问题详解
2013/11/11 Javascript
JQuery的Ajax中Post方法传递中文出现乱码的解决方法
2014/10/21 Javascript
jQuery实现的小图列表,大图展示效果幻灯片示例
2016/10/25 Javascript
使用SVG基本操作API的实例讲解
2017/09/14 Javascript
微信小程序常见页面跳转操作简单示例
2019/05/01 Javascript
vue中全局路由守卫中替代this操作(this.$store/this.$vux)
2020/07/24 Javascript
[01:32]完美世界DOTA2联赛10月29日精彩集锦
2020/10/30 DOTA
简单了解Python中的几种函数
2017/11/03 Python
Python使用matplotlib的pie函数绘制饼状图功能示例
2018/01/08 Python
python使用logging模块发送邮件代码示例
2018/01/18 Python
[机器视觉]使用python自动识别验证码详解
2019/05/16 Python
python导入pandas具体步骤方法
2019/06/23 Python
Python定时任务随机时间执行的实现方法
2019/08/14 Python
Python实现图片识别加翻译功能
2019/12/26 Python
Python 调用 ES、Solr、Phoenix的示例代码
2020/11/23 Python
python实现图像高斯金字塔的示例代码
2020/12/11 Python
CSS3 animation实现逐帧动画效果
2016/06/02 HTML / CSS
Canal官网:巴西女性时尚品牌
2019/10/16 全球购物
总经理职责范文
2013/11/08 职场文书
揠苗助长教学反思
2014/02/04 职场文书
公司会计主管岗位责任制
2014/03/01 职场文书
学校党委副书记个人对照检查材料思想汇报
2014/09/28 职场文书
男方婚礼答谢词
2015/01/20 职场文书
解放思想大讨论活动总结
2015/05/09 职场文书
2015年超市工作总结范文
2015/05/26 职场文书
Java面试题冲刺第十八天--Spring框架3
2021/08/07 面试题
Oracle安装TNS_ADMIN环境变量设置参考
2021/11/01 Oracle
高通2023 年将发布高性能PC处理器
2022/04/29 数码科技
nginx 配置缓存
2022/05/11 Servers