1、substr(start,length)
索引從1開始 (從0 開始和從1開始結果一樣)
start:開始位置, length:長度
start參數:必需。要獲取的子串的起始下標,必須是數值,如果是負數,那么該參數聲明從字符串的尾部開始算起的位置,-1倒數第一個字符,-2倒數第二個字符,以此類推。
length參數:可選。子串中的字符數,必須是數值,可省略。如果省略了該參數,那么返回從 stringObject 的開始位置到結尾的字串。
var x=y="0123456789"; x.substr(2,5);//返回的23456 y.substring(2,5);//返回234 //由此得出第一個參數開始截取的位置,substr很明顯第二個參數是截取的長度; //而substring第二個參數是截取的結束位置(不包含結束位置上的字符串) //上次探索的數組中原數組可能發生變化,我們使用上一次試一下 console.log(x,y);//發現x和y均未發生變化,因此在字符串操作不存在原字符串對改變的情況 x.substr(-4);//返回6789; y.substring(-4);//返回0123456789
2、substring(start,stop)
索引從0開始
start參數: 必需。一個非負的整數,要獲取的子串的起始下標,值必須是整數。
stop參數: 可選。一個非負的整數,要獲取的子串的終止下標,值必須是整數,不可為負數;可省略,如果省略該參數,那么返回的子串會一直到字符串的結尾。
其中的(start,stop)是“左閉右開”的了[start,stop)。
總結:substr()方法是從指定位置的字符開始,返回指定長度的字符數;substr()方法的第二個參數接受負數。substring()方法是從指定位置的字符開始,指定位置的字符結束,返回指定位置間的字符;substring()方法的第二個參數不接受負數。