• javascript中substring()、substr()、slice()的区别


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

    stringObject.substring(start,stop) 用于提取字符串中介于两个指定下标之间的字符。

    start必需。一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置。

    stop可选。一个非负的整数,比要提取的子串的最后一个字符在 stringObject 中的位置多 1。如果省略该参数,那么返回的子串会一直到字符串的结尾。

    start从0开始 到stop(不包含stop)结束 不接受负的参数。

    stringObject.substr(start,length)可在字符串中抽取从start下标开始的指定数目的字符

    start 必需。要抽取的子串的起始下标。必须是数值。如果是负数,那么该参数声明从字符串的尾部开始算起的位置。也就是说,-1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推。

    length 可选。子串中的字符数。必须是数值。如果省略了该参数,那么返回从 stringObject 的开始位置到结尾的字串。

    stringObject.slice(start,end)提取字符串的某个部分,并以新的字符串返回被提取的部分

    start 要抽取的片断的起始下标。如果是负数,则该参数规定的是从字符串的尾部开始算起的位置。也就是说,-1 指字符串的最后一个字符,-2 指倒数第二个字符,以此类推。

    end 紧接着要抽取的片段的结尾的下标。若未指定此参数,则要提取的子串包括 start 到原字符串结尾的字符串。如果该参数是负数,那么它规定的是从字符串的尾部开始算起的位置。

    返回新的字符串包括字符串 stringObject 从 start 开始(包括 start)到 end 结束(不包括 end)为止的所有字符

    string.slice()
    string.substring()
    string.substr()
      
    var stringValue = “hello world”;
    alert(stringValue.slice(3));          //”lo world”
    alert(stringValue.substring(3));      //”lo world”
    alert(stringValue.substr(3));        //”lo world”
    alert(stringValue.slice(3,7));         //”lo w”
    alert(stringValue.substring(3,7));    //”lo w”
    alert(stringValue.substr(3,7));       //”lo worl”
    

      

    三者如果只有一个参数n 则会从第n个位置开始返回剩余字符串(从0开始计算位置)

    如果有两个参数n,m,slice与substring会从第n个位置开始返回到第m个位置(不包括第m位置)的字符串,而substr会返回从第n个位置开始的m个字符。
    ———————————————————————————————

    string.slice()
    string.substring()
    string.substr()
    var stringValue = “hello world”;
    alert(stringValue.slice(-3));          //”rld”
    alert(stringValue.substring(-3));      //”hello world”
    alert(stringValue.substr(-3));        //”rld”
    alert(stringValue.slice(3,-4));         //”lo w”
    alert(stringValue.substring(3,-4));    //”hel”
    alert(stringValue.substr(3,-4));       //”"(空字符串)
    

      

     

    当参数是负值情况下,slice将传入负值与字符串长度(string.length)相加,substr会将负的第一个参数加上字符串长度,第二个转换为0,substring会将所有负值都转换成0。

    IE的JavaScript实现在处理向substr()方法传递负值的情况时存在问题,它会返回原始的字符串。

  • 相关阅读:
    136-如何访问redis数据库
    135-如何实现result风格
    134-SpringMVC中的值,会有一个默认值
    133-this知识点
    132-SpringBoot中的请求方法
    034-405是什么错误?
    131-逆向工程配置文件
    SQL---实验一
    《将博客搬至CSDN》
    正则表达式1---QQ号合法性判断
  • 原文地址:https://www.cnblogs.com/good10000/p/4788003.html
Copyright © 2020-2023  润新知