今天在工作的过程中,看到js中两个双胞胎函数。分别是substring与substr。顿时被两个可恶的家伙给迷惑住了,不知道具体有什么作用。、

先来看看substring手册是怎么介绍的。

手册解释的还是比较清楚的。不过还是用我的自己话给总结一下,顺便来个栗子巩固一下。

在这里你可以把字符串当成类数组的对象。既然是数组,那么就有下标,下标是从0开始的。

start  与 stop 都不能是负数。下标不能为负所致。

开始数值不能比结束的还大,否则会颠倒开始与结束的次序。

截取的字符串数量,是结尾减开始。

栗子:

//第一种情况
msg = 'RoverLiang';
tmp = msg.substring(3, 2);
alert(tmp); //弹出 v //第二种情况
msg = "RoverLiang";
tmp = substring(3, 0);
alert(tmp); //弹出Rov //总结 substring总是再start与end两个参数中选择一个比较小的作为开始位。

再来看看substr是怎么回事?

 //第一种情况
msg = 'RoverLiang';
tmp = msg.substr(3, 2);
alert(tmp); //返回er //第二种情况
msg = 'RoverLiang';
tmp = msg.substr(2, 3);
alert(tmp); //返回ver //第三种情况

msg = 'RoverLiang';
          tmp = msg.substr(-2, 3);
          alert(tmp); //返回ng 该函数总是总前往后截的不够三个了,只能截2个

//第四种情况

msg = 'RoverLiang';
         tmp = msg.substr(-2, -3);
         alert(tmp); //什么也不返回,因为截取是一个负数。


js中substring与substr的学习。的更多相关文章

  1. js中substring和substr的用法

    js中substring和substr的用法 substring 方法用于提取字符串中介于两个指定下标之间的字符 substring(start,end) 开始和结束的位置,从零开始的索引 参数    ...

  2. js中substring和substr的用法 (转)

    1.substring 方法 定义和用法 substring 方法用于提取字符串中介于两个指定下标之间的字符. 语法 stringObject.substring(start,stop) 参数     ...

  3. js 中 substring() 和 substr() 提取字符

    提取字符串substring() substring() 方法用于提取字符串中介于两个指定下标之间的字符. 语法: stringObject.substring(startPos,stopPos)  ...

  4. js中substring和substr的用法比较

    推荐使用substring 方法   stringObject.substring(start,stop)   stringObject.substr(start,length)   定义和用法 提取 ...

  5. JS中substring与substr的区别

    Substring: 该方法可以有一个参数也可以有两个参数. (1)  一个参数: 示例: var str=“Olive”: str.substring(3); 结果:“ve” 说明:当substri ...

  6. JS中substring与substr的用法

    substring方法用于提取字符串中介于两个指定下标之间的字符 substring(start,end) 开始和结束的位置,从零开始的索引javascript 参数 描述 start 必需.一个非负 ...

  7. js中substring和substr用法与区别

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

  8. js中substring/substr和C#中Substring的用法

    一:在js中截取字符串的方法有两个:substring和substr 1.方法: substring(int stringIndex,[int endIndex]) 截取从索引为stringIndex ...

  9. javascript中substring()、substr()、slice()的区别

    在js字符截取函数有常用的三个slice().substring().substr()了,下面我来给大家介绍slice().substring().substr()函数在字符截取时的一些用法与区别吧. ...

随机推荐

  1. 如何阻止SELECT * 语句

    我们每个人都知道是个不好的做法,但有时我们还是要这样做:我们执行SELECT * 语句.这个方法有很多弊端: 你从你的表里返回每个列,甚至后期加的列.想下如果你的查询里将来加上了VARCHAR(MAX ...

  2. VS2013无法链接到TFS(Visual studio online),错误TF31001,TF31002

    TF31002: Unable to connect to VisualStudio Online with VS 2013 but I can using web access - Windows ...

  3. 如何设置div高度为100%

    div高度通常都是固定值,直接将div高度设为100%是无效的,那么如何设置才能有效呢? 直接给div设置height:100%即可,无效的原因一定是父元素的高度为0,最常见的就是给body的直接元素 ...

  4. 页面切换语言包使用session不用cookie

    cookie的问题,ifame中的cookie不一致 在父页面设置的语言包cookie,在iframe中获取不到.为什么呢? 为什么语言包这个事跟cookie过不去,有什么特殊的? iframe的sr ...

  5. java设计优化--单例模式

    单例模式是一种对象创建模式,确保系统中一个类只有一个实例. 在java语言中,这样做有两大好处: 1.对于频繁使用的对象,可以省略创建对象所话费的时间: 2.由于new操作的次数减少,对于系统内存的使 ...

  6. Timer定时任务

    // main方法 public static void main(String[] args) { timerEnter(); } // 设定指定任务task在指定延迟delay后进行固定延迟per ...

  7. jQuery基础--样式篇(1)

    1.jQuery简介:JQuery是继prototype之后又一个优秀的Javascript库.它是轻量级的js库 ,它兼容CSS3,还兼容各种浏览器(IE 6.0+, FF 1.5+, Safari ...

  8. 线性表的链式存储C语言版

    #include <stdio.h> #include <malloc.h> #define N 10 typedef struct Node { int data; stru ...

  9. LightOJ 1341 唯一分解定理

    Aladdin and the Flying Carpet Time Limit:3000MS     Memory Limit:32768KB     64bit IO Format:%lld &a ...

  10. highstock-处理时间需要处理世界时间偏移量

    highstock的数据格式采用的是[[时间,数据],[时间,数据],[时间,数据],[时间,数据]],而时间采用的是13位的毫秒值,如[1133136000000,69.66],采用的时间格式为UT ...