在JavaScript中访问字符串的子串


Posted in Javascript onJuly 07, 2015

 使用substring()或slice()方法(NN4+, IE4+),下面说明它们的具体用法。

      substring()的原型为:  

string.substring(from, to)

      第一个参数from指定了子字符串在原字符串中的起始位置(基于0的索引);第二个参数to是可选的,它指定了子字符串在原字符串的结束位置(基于0的索引),一般情况下,它应比from大,如果它被省略,那么子字符串将一直到原字符串的结尾处。

      如果参数from不小心比参数to大了会怎样?JavaScript会自动调解子字符串的起止位置,也就是说,substring()总是从两个参数中较小的那个开始,到较大的那个结束。不过要注意,它包含起始位置的那个字符,但不包含结束位置的那个字符。

var fullString = "Every dog has his day.";


   var section = fullString.substring(0, 4); // section is "Ever".


   section = fullString.substring(4, 0);   // section is also "Ever".


   section = fullString.substring(1, 1);   // section is an empty string.


   section = fullString.substring(-2, 4); // section is "Ever", same as fullString.substring(0, 4);  slice()的原型为: string.slice(start, end)

      参数start表示子串的起始位置,如果为负数,那么可以理解为倒数第几个开始,例如-3表示从倒数第三个开始;参数end表示结束位置,与start一样,它也可以为负数,其含义也表示到倒数第几个结束。slice()的参数可以为负数,所以要比substring()更加灵活,但没那么宽容了,如果start比end要大,它将返回一个空字符串(示例略)。

      还有一个方法是substr(),其原型为: 

string.substr(start, length)

      从原型可以看出它的参数的含义,start表示起始位置,length则表示子字符串的长度。JavaScript标准不提倡使用该方法。

Javascript 相关文章推荐
学习ExtJS Panel常用方法
Oct 07 Javascript
Javascript 定时器调用传递参数的方法
Nov 12 Javascript
某页码显示的helper 少量调整,另附js版
Sep 12 Javascript
基于jQuery的message插件实现右下角弹出消息框
Jan 11 Javascript
javaScript矢量图表库-gRaphael几行代码实现精美的条形图/饼图/点图/曲线图
Jan 09 Javascript
Extjs 继承Ext.data.Store不起作用原因分析及解决
Apr 15 Javascript
JS将制定内容复制到剪切板示例代码
Feb 11 Javascript
jQuery常用知识点总结以及平时封装常用函数
Feb 23 Javascript
Vue.set()动态的新增与修改数据,触发视图更新的方法
Sep 15 Javascript
layui 动态设置checbox 选中状态的例子
Sep 02 Javascript
vue中利用iscroll.js解决pc端滚动问题
Feb 15 Javascript
Vue实现跑马灯样式文字横向滚动
Nov 23 Vue.js
jQuery.each使用详解
Jul 07 #Javascript
JavaScript中字符串拼接的基本方法
Jul 07 #Javascript
简单介绍JavaScript中字符串创建的基本方法
Jul 07 #Javascript
浅谈JavaScript中运算符的优先级
Jul 07 #Javascript
浏览器中url存储的JavaScript实现
Jul 07 #Javascript
浅谈JavaScript中的作用域和闭包问题
Jul 07 #Javascript
深入分析下javascript中的[]()+!
Jul 07 #Javascript
You might like
php判断文件夹是否存在不存在则创建
2015/04/09 PHP
PHP入门教程之自定义函数用法详解(创建,调用,变量,参数,返回值等)
2016/09/11 PHP
php使用socket调用http和smtp协议实例小结
2019/07/26 PHP
PHP实现爬虫爬取图片代码实例
2021/03/03 PHP
传递参数的标准方法(jQuery.ajax)
2008/11/19 Javascript
eval与window.eval的差别分析
2011/03/17 Javascript
js函数的引用, 关于内存的开销
2012/09/17 Javascript
js将控件隐藏的方法及display属性介绍
2013/07/04 Javascript
禁用页面部分JavaScript方法的具体实现
2013/07/31 Javascript
JS+CSS实现一个气泡提示框
2013/08/18 Javascript
客户端js判断文件类型和文件大小即限制上传大小
2013/11/20 Javascript
JavaScript中的bold()方法使用详解
2015/06/08 Javascript
JS文字球状放大效果代码分享
2015/08/19 Javascript
微信小程序 教程之WXSS
2016/10/18 Javascript
React实现点击删除列表中对应项
2017/01/10 Javascript
基于Bootstrap的Java开发问题汇总(Spring MVC)
2017/01/15 Javascript
Vue+Mock.js模拟登录和表格的增删改查功能
2018/07/26 Javascript
原生js实现each方法实例代码详解
2019/05/27 Javascript
JavaScript实现Excel表格效果
2020/02/07 Javascript
jQuery实现简单聊天室
2020/02/08 jQuery
Vue中添加滚动事件设置的方法详解
2020/09/14 Javascript
python网络编程学习笔记(三):socket网络服务器
2014/06/09 Python
python判断图片宽度和高度后删除图片的方法
2015/05/22 Python
Python标准库inspect的具体使用方法
2017/12/06 Python
Python cookbook(数据结构与算法)字典相关计算问题示例
2018/02/18 Python
Python实现的绘制三维双螺旋线图形功能示例
2018/06/23 Python
世界上最大的艺术和工艺用品商店:MisterArt.com
2018/07/13 全球购物
介绍一下HTTP、HTTPS和SSL
2012/12/16 面试题
销售实习自我鉴定
2013/12/07 职场文书
大学生职业生涯规划书模板
2014/01/18 职场文书
竞选部长演讲稿
2014/04/26 职场文书
房地产公司见习自我鉴定
2014/04/28 职场文书
工作表扬信范文
2015/01/17 职场文书
Python-OpenCV实现图像缺陷检测的实例
2021/06/11 Python
Redis Cluster集群动态扩容的实现
2021/07/15 Redis
MySQL数据库配置信息查看与修改方法详解
2022/06/25 MySQL