在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 相关文章推荐
JS动画效果代码3
Apr 03 Javascript
JavaScript关于select的相关操作说明
Jan 13 Javascript
屏蔽Flash右键信息的js代码
Jan 17 Javascript
js阻止冒泡和默认事件(默认行为)详解
Oct 20 Javascript
Angular的事件和表单详解
Dec 26 Javascript
微信小程序 小程序制作及动画(animation样式)详解
Jan 06 Javascript
AngularJS路由实现页面跳转实例
Mar 03 Javascript
vue axios同步请求解决方案
Sep 29 Javascript
JS随机数产生代码分享
Feb 24 Javascript
解决angularJS中input标签的ng-change事件无效问题
Sep 13 Javascript
微信小程序动态添加和删除组件的现实
Feb 28 Javascript
Vue+axios封装请求实现前后端分离
Oct 23 Javascript
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
地摊中国 - 珍藏老照片
2020/08/18 杂记
简单易用的计数器(数据库)
2006/10/09 PHP
php获取服务器信息的实现代码
2013/02/04 PHP
在Windows XP下安装Apache+MySQL+PHP环境
2015/02/22 PHP
PHP Ajax实现无刷新附件上传
2016/08/17 PHP
PHP解决中文乱码
2017/04/28 PHP
PHP date_default_timezone_set()设置时区操作实例分析
2020/05/16 PHP
JavaScript入门教程(6) Window窗口对象
2009/01/31 Javascript
js左侧多级菜单动态的解决方案
2010/02/01 Javascript
基于jquery的让textarea自适应高度的插件
2010/08/03 Javascript
JQuery操作表格(隔行着色,高亮显示,筛选数据)
2012/02/23 Javascript
Javascript简单实现可拖动的div
2013/10/22 Javascript
Egret引擎开发指南之创建项目
2014/09/03 Javascript
JS实现带有抽屉效果的产品类网站多级导航菜单代码
2015/09/15 Javascript
jQuery使用Layer弹出层插件闪退问题
2016/12/22 Javascript
Angular.js基础学习之初始化
2017/03/10 Javascript
微信小程序上滑加载下拉刷新(onscrollLower)分批加载数据(二)
2017/05/11 Javascript
JS库之Highlight.js的用法详解
2017/09/13 Javascript
使用JSON格式提交数据到服务端的实例代码
2018/04/01 Javascript
微信小程序实现分享到朋友圈功能
2018/07/19 Javascript
vue组件横向树实现代码
2018/08/02 Javascript
基于vue手写tree插件的那点事儿
2019/08/20 Javascript
[56:46]Liquid vs IG 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
python调用系统ffmpeg实现视频截图、http发送
2018/03/06 Python
python for循环remove同一个list过程解析
2019/08/14 Python
解决Keras 自定义层时遇到版本的问题
2020/06/16 Python
Web前端页面跳转并取到值
2017/04/24 HTML / CSS
ddl,dml和dcl的含义
2016/05/08 面试题
文员自我评价怎么写
2013/09/19 职场文书
办理居住证介绍信
2014/01/15 职场文书
2014政府领导班子对照检查材料思想汇报(3篇)
2014/09/26 职场文书
介绍长城的导游词
2015/01/30 职场文书
跑吧孩子观后感
2015/06/10 职场文书
CSS实现单选折叠菜单功能
2021/11/01 HTML / CSS
【海涛解说】pis亲自推荐,其实你从来不会玩NW
2022/04/01 DOTA
Python保存并浏览用户的历史记录
2022/04/29 Python