js中substring和substr两者区别和使用方法


Posted in Javascript onNovember 09, 2015

在开始之前,先回顾下js中下标(数组元素/字符串中字符下标):
下标总是从0开始计数,例如
var arr = [1,2,3];//数组的长度为3,元素下标依次为:0,1,2
arr[0] = 1,arr[1]=2..
字符串类似:如var s = "hello";//字符串长度为5,第一个字符'h'的下标为0,依次类推

js中substring和substr两者区别和使用方法

String.substring( ):用于返回一个字符串的子串
用法如下:string.substring(from, to)
其中from指代要抽去的子串第一个字符在原字符串中的位置
to指代所要抽去的子字符串最后一个字符的后一位(这个参数可以不加)

下面就对String.substring( )做举例

1、string.substring(from):此时相当于从from位置截取到原字符串末尾

var s = "hello";
s.substring(1);//就是从下标为1的字符(这里是'e')开始起到字符串末尾全部截取,最终获得子串"ello"

js中substring和substr两者区别和使用方法

2、string.substring(from, to):从from位置截取到to-1的位置

var s = "hello";
s.substring(1,3);//相当于从位置为1的字符截取到位置为2的字符,得到子串为:"el"

js中substring和substr两者区别和使用方法

String.substr( ):作用也是抽去一个子串,但是它和上面的String.substring( )有所不同
用法如下:string.substr(start, length)
start:指代截取子串开始下标
length:截取子串的长度(可省略)
1、string.substr(start, length):先举个例子来说明:

var s = "hello";
s.substr(1,3);//从下标为1的字符开始截取3个字符长度,最后子串为:ell

js中substring和substr两者区别和使用方法

补充两种特殊情况:
a、第二个参数超过了剩余字符长度

var s = "hello";
s.substr(1,7)//这种情况下默认从,start位置到原字符串末尾,即返回:"ello"

js中substring和substr两者区别和使用方法

b、第一个参数为负数
这种情况,从字符串尾部开始计算,-1指字符串最后一个字符,-2指倒数第二个字符...依次类推

var s = "hello";
s.substr(-3,2)//即从倒数第三个字符开始起截取2个长度,获得:"ll"

js中substring和substr两者区别和使用方法

2、string.substr(start)不带length参数,默认指代从start位置截取到字符串末尾

var s = "hello";
s.substr(3)//"lo"

js中substring和substr两者区别和使用方法

以上就是关于js中substring和substr区别与用法的详细介绍,大家可以结合之前的相关文章进行学习,希望对大家的学习有所帮助。

Javascript 相关文章推荐
20个非常棒的Jquery实用工具 国外文章
Jan 01 Javascript
js关闭父窗口时关闭子窗口
Apr 01 Javascript
浅谈checkbox的一些操作(实战经验)
Nov 20 Javascript
浅析jQuery Ajax通用js封装
Jun 22 Javascript
基于BootStrap实现局部刷新分页实例代码
Aug 08 Javascript
关于JavaScript限制字数的输入框的那些事
Aug 14 Javascript
Angular4学习笔记之实现绑定和分包
Aug 01 Javascript
微信小程序表单验证功能完整实例
Dec 01 Javascript
JavaScript设计模式之调停者模式实例详解
Feb 03 Javascript
AngularJs的UI组件ui-Bootstrap之Tooltip和Popover
Jul 13 Javascript
vue和better-scroll实现列表左右联动效果详解
Apr 29 Javascript
使用vuex存储用户信息到localStorage的实例
Nov 11 Javascript
浅析js中substring和substr的方法
Nov 09 #Javascript
js中substr,substring,indexOf,lastIndexOf,split,replace的用法详解
Nov 09 #Javascript
比较常见的javascript中定义函数的区别
Nov 09 #Javascript
详解JavaScript中的Unescape()和String() 函数
Nov 09 #Javascript
表单验证正则表达式实例代码详解
Nov 09 #Javascript
JS实现网页上随机产生超链接地址的方法
Nov 09 #Javascript
JavaScript获取页面中超链接数量的方法
Nov 09 #Javascript
You might like
编写漂亮的代码 - 将后台程序与前端程序分开
2008/04/23 PHP
php set_time_limit()函数的使用详解
2013/06/05 PHP
jquery+php+ajax显示上传进度的多图片上传并生成缩略图代码
2014/10/15 PHP
thinkphp模板输出技巧汇总
2014/11/24 PHP
PHP HTTP 认证实例详解
2016/11/03 PHP
PHP PDOStatement::fetch讲解
2019/01/31 PHP
javascript 得到文件后缀名的思路及实现
2020/05/09 Javascript
jQuery中使用data()方法读取HTML5自定义属性data-*实例
2014/04/11 Javascript
JavaScript实现的类字典插入或更新方法实例
2015/07/10 Javascript
详解vue前后台数据交互vue-resource文档
2017/07/19 Javascript
[js高手之路]图解javascript的原型(prototype)对象,原型链实例
2017/08/28 Javascript
基于Vue 2.0的模块化前端 UI 组件库小结
2017/12/21 Javascript
vue2.0 + element UI 中 el-table 数据导出Excel的方法
2018/03/02 Javascript
Node.js创建HTTP文件服务器的使用示例
2018/05/11 Javascript
微信小程序解析富文本过程详解
2019/07/13 Javascript
微信小程序实现拖拽功能
2019/09/26 Javascript
JavaScript使用百度ECharts插件绘制饼图操作示例
2019/11/26 Javascript
ant design vue datepicker日期选择器中文化操作
2020/10/28 Javascript
详解Python中列表和元祖的使用方法
2015/04/25 Python
Python实现SVN的目录周期性备份实例
2015/07/17 Python
Python中eval带来的潜在风险代码分析
2017/12/11 Python
详细解读tornado协程(coroutine)原理
2018/01/15 Python
python 用正则表达式筛选文本信息的实例
2018/06/05 Python
Python设计模式之状态模式原理与用法详解
2019/01/15 Python
Pyinstaller打包.py生成.exe的方法和报错总结
2019/04/02 Python
Python如何通过百度翻译API实现翻译功能
2020/04/02 Python
Prometheus开发中间件Exporter过程详解
2020/11/30 Python
使用CSS Grid布局实现网格的流动
2014/12/30 HTML / CSS
十一个高级MySql面试题
2014/10/06 面试题
实习生体会的自我评价范文
2013/11/28 职场文书
优秀毕业生自我鉴定
2014/02/11 职场文书
2014年学雷锋活动总结
2014/06/26 职场文书
网络工程专业大学生求职信
2014/10/01 职场文书
2014年大学团支部工作总结
2014/12/02 职场文书
暑期社会实践个人总结
2015/03/06 职场文书
辞职报告(范文三篇)
2019/08/27 职场文书