1. substring(start, end)
  1). 包头不包尾
  2). start 必需项
  3). end 非必需项
  4). start end 谁大谁小无所谓
  5). start end 若为 NAN/负数 时,则替换为 0
  6). start end 均是从索引 0 算起的
  7). 截取的子串长度为 |start-end| (绝对值)
  8). end 不指定数值,返回从 start 到 原串末尾 的子串

  var str="javaScript";
  console.log(str.substring(4));
  //Script
  var str="javaScript";
  console.log(str.substring(4,7));
  //console.log(str.substring(7,4));
  //Scr
  var str="javaScript";
  console.log(str.substring(4,0));
  //console.log(str.substring(0,4));
  //java

2. substr(start, length)
  1). start 开始,截取 length 长度的子串
  2). start 必需项
  3). length 非必需项
  4). length 为 0/NaN/负数 时,返回空串,
  5). length 不指定数值,返回从 start 到 原串末尾 的子串

  var str="javaScript";
  console.log(str.substr(4,2));
  //Sc
  var str="javaScript";
  console.log(str.substr(4));
  //Script

3. slice(start, end)
  1). 包头不包尾
  2). start 必需项
  3). end 非必需项
  4). start end 若为负数,则表示从原串末尾开始算起,-1代表最后一个,-2代表倒数第二个
  5). end 为 0/NaN 时,返回空串
  6). 若最后算出 end 在 start 之前的话,也返回空串
  7). end 不指定数值,返回从 start 到 原串末尾 的子串

  var str="javaScript";
  console.log(str.slice(4, 10));
  //Script
  var str="javaScript";
  console.log(str.slice(4, -1));
  //Scrip
  var str="javaScript";
  console.log(str.slice(-4, -1));
  //rip
  var str="javaScript";
  console.log(str.slice(-4, 10));
  //ript
  var str="javaScript";
  console.log(str.slice(-4, 1));//(4, 'a') (4, 0) (4, -6)
  //

4. split(separator, howmany)
  1). split 切割字符串并已数组形式返回
  2). separator 必需项 分割器,格式:字符串/正则表达式
  3). howmany 非必需项 返回的数组的最大长度
  4). separator 若为 "",则返回将原串每个字符之间都作分割后的数组
  
  var str="text/javaScript";
  console.log(str.split('/'));
  //["text", "javaScript"]
  var str="How are you doing today?";
  console.log(str.split(' '));
  //["How","are","you","doing","today?"]
  var str="How are you doing today?";
  console.log(str.split(' ', 3));
  //["How","are","you"]

5. join(separator)
  1). 将 数组 中的 每个元素 已指定的 分隔符 连接到一起 组成一个字符串
  2). separator 非必需项 分割符,格式:字符串/正则表达式
  3). 与 split 互为反操作
  
  var arr=["text", "javaScript"];
  console.log(arr.join('/'));
  //text/javaScript
  var arr=["text", "javaScript"];
  console.log(arr.join());
  //textjavaScript
  
6. indexOf(searchvalue, fromindex)
  1). 从左向右检索 某个指定字符串值 在 原字符串 中首次出现的位置(索引)
  2). searchvalue 必需项 要检索的字符串值
  3). fromindex 非必需项 指定开始检索的位置(0~str.length-1)
  4). fromindex 若省略,则从头到尾检索原字符串
  5). fromindex 若存在,则从该所索引值开始检索
  6). 大小写敏感
  7). 若 searchvalue 在 原串中不存在,则返回 -1

  var str="javaScript";
  console.log(str.indexOf('a'));
  //1
  var str="javaScript";
  console.log(str.indexOf('s'));
  //-1
  var str="javaScript";
  console.log(str.indexOf('a', 2));
  //3

7. lastIndexOf(searchvalue, fromindex)
  1). 与 indexOf 与异曲同工之妙,开始检索方向与 indexOf 相反
  2). 从右向左开始检索 某个指定字符串值 在 原字符串 中最后出现的位置(索引)

  var str="javaScript";
  console.log(str.lastIndexOf('a'));
  //3
  var str="javaScript";
  console.log(str.lastIndexOf('s'));
  //-1
  var str="javaScript";
  console.log(str.lastIndexOf('a', 2));
  //1

js 中有关字符串的操作的更多相关文章

  1. js 中对字符串的操作

    1.split() split() 方法用于把一个字符串分割成字符串数组. 用法:stringObject.split(separator,howmany) separator:必选,类型为字符串或者 ...

  2. [转]js中confirm实现执行操作前弹出确认框的方法

    原文地址:http://www.jb51.net/article/56986.htm 本文实例讲述了js中confirm实现执行操作前弹出确认框的方法.分享给大家供大家参考.具体实现方法如下: 现在在 ...

  3. php大力力 [024节]PHP中的字符串连接操作(2015-08-27)

    2015-08-27 php大力力024.PHP中的字符串连接操作 PHP中的字符串连接操作  阅读:次   时间:2012-03-25 PHP字符串的连接的简单实例 时间:2013-12-30 很多 ...

  4. js中构造字符串若放入Grails中gsp的<g:link>标签出错

    Grails的ajax使用json格式返回,在js中构造字符串时若放入<g:link>标签,字符串构造就会错误 如下就会发生错误,导致回调函数无法执行 function show(obj) ...

  5. javascript中对字符串的操作总结

    原文:javascript中对字符串的操作总结 没听过一句话吗?程序员的世界,不处理字符串就是处理数组.这是群里的一位前辈和我说的,显然这和我之前理解的DOM是javascript的核心的不同的,看了 ...

  6. js中Json字符串如何转成Json对象(4种转换方式)

    js中Json字符串如何转成Json对象(4种转换方式) 一.总结 一句话总结:原生方法(就是浏览器默认支持的方法) 浏览器支持的转换方式(Firefox,chrome,opera,safari,ie ...

  7. JS中清空字符串前后空格

    在JS 操作的时候 长期会有对字符串的操作, 但是在JS 中不像在C#中 有字符串的方法 Trim() 来对字符串进行处理 .  所以自己写一个对字符串前后清楚空格的方法还是有必要的 以免以后忘记了 ...

  8. JS 中数组字符串索引和数值索引研究

    先来看一个问题: var array = []; array["a"] = "hello"; array["b"] = "worl ...

  9. JS中实现字符串和数组的相互转化

    早上起来看了一道js的面试题,是这样描述的:利用var s1=prompt("请输入任意的字符串","")可以获取用户输入 的字符串,试编程将用户输入的字符串“ ...

随机推荐

  1. 服务端 安装配置 svn

    检查是否安装svn svn --version 看看,既能确定是否安装,又能确定版本多少 安装 svn yum -y install subversion 创建仓库存放目录 mkdir -p /opt ...

  2. C++_新特性2-RTTI运行阶段类型识别

    这部分属于C++的新特性,感觉比较高阶的特性.我把它归于属于奇技淫巧的范畴.了解即可. RTTI是运行阶段类型识别(Runtime Type Identification)的简称. 这是添加到C++中 ...

  3. BZOJ3065 带插入区间K小值 || 洛谷P4278

    这是一道让我崩溃的题...... 然鹅洛谷上时限被改然后只有20分......好像所有人都被卡了(雾) 由于替罪羊树不是依靠旋转操作而是依靠暴力重构的方式维护树的平衡,所以我们可以考虑使用替罪羊树套区 ...

  4. Collectors.groupingBy分组后的排序问题

    默认groupingBy代码里会生成一个HashMap(hashMap是无序的,put的顺序与get的顺序不一致) HashMap是无序的,HashMap在put的时候是根据key的hashcode进 ...

  5. 单个html使用axios调用接口传参

    单个html页面使用axios调用接口传参(没有使用v-cli搭建框架,也没有使用qs等等) 1.使用 URLSearchParams的方法 var params = new URLSearchPar ...

  6. 将Eclipse的Java Project转换为Dynamic Web Project

    在用Eclipse做JavaEE开发时经常遇到Web工程被识别为Java工程的问题,导致很多功能无法使用. 只需做以下操作便可解决该问题. 1.右击Java工程选择Properties 2.选择左边目 ...

  7. Sqlite CodeFirst的初级实现

    示例实体: using System; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnn ...

  8. 红米note_维修_开机键

    1. 2.在线人工客服(20180919) 很荣幸为您服务,有什么问题可以帮助到您的- 我的手机 后边的 开机键 貌似 不太行了 您好,您是哪款手机 就是 要按 好几次 很用力 才能 开亮手机屏幕木 ...

  9. ffmpeg+cuda+opencv

    为了让ffmpeg使用gpu进行解码,可以按以下步骤: 1 下载nvidia官网提供的ffmpeg,编译安装 https://developer.nvidia.com/ffmpeg 注意原来的选项上还 ...

  10. Kibana修改Time日志格式

    选择左侧management 打开Advanced Settings 编辑:dateFormat,默认格式是:MMMM Do YYYY, HH:mm:ss.SSS,修改为:YYYY-MM-DD HH: ...