JS提供三個截取字符串的方法,分別是:slice(),substring()和substr(),它們都可以接受一個或兩個參數:
var stmp = "rcinn.cn";
使用一個參數alert(stmp.slice(3));//從第4個字符開始,截取到最后個字符;返回"nn.cn"
alert(stmp.substring(3));//從第4個字符開始,截取到最后個字符;返回"nn.cn"
使用兩個參數alert(stmp.slice(1,5))//從第2個字符開始,到第5個字符;返回"cinn"
alert(stmp.substring(1,5));//從第2個字符開始,到第5個字符;返回"cinn"
如果只用一個參數并且為0的話,那么返回整個參數alert(stmp.slice(0));//返回整個字符串
alert(stmp.substring(0));//返回整個字符串
返回第一個字符alert(stmp.slice(0,1));//返回"r"
alert(stmp.substring(0,1));//返回"r"
//在上面的例子中我們可以看出slice()和substring()的用法是相同的,返回的值也是一樣的,但當參數為負數時,他們的返回值卻不一樣,看下面的例子
alert(stmp.slice(2,-5));//返回"i"
alert(stmp.substring(2,-5));//返回"rc"
//從上面兩個例子可以看出slice(2,-5)實際上是slice(2,3),負5加上字符串長度8轉換成正3(若第一位數字等于或大于第二位數字(slice()注意:這里第二位數字如果是負數是加完字符串長度后的數字,而不是顯示的數字例:length=11,(7,-6),-6+11=5第二位小于第一位),則返回空字符串);而substring(2,-5)實際上是substring(2,0),負數轉換為0,substring總是把較小的數作為起始位置。
alert(stmp.substring(1,5))//從第2個字符開始,到第5個字符;返回"cinn"
alert(stmp.substr(1,5));//從第2個字符開始,截取5個字符;返回"cinn."
var phone = 15989012100;
phone.slice(-6) 取倒數后6位(第二個參數不用寫0),return ‘012100 ';
phone.slice(-6,-4) 取倒數后4位到倒數6位,(-6+11,-4+11)=(5,7);
//?日期比較大小?當日期每個月都小1時 var?nowdate?=?new?Date(); item?=?2016-7-16; temp?=?item.split('-'); if?(temp[0]?!=?curYear?||?temp[1]?!=?curMonth)?{ ????return; } temp[1]?=?parseInt(temp[1])?+?1; date?=?new?Date(temp.join('-')); if(date>=nowdate){ 執行A; }else{ 執行B; }
替換指定字符串后的字母
var?abc?=?'adadada=ss'; var?j?=?abc.substring(abc.indexOf('=')+1,abc.length); var?dsd?=abc.replace(j,'haha');??-->???dsd?=?'adadada=haha'
以上所述是小編給大家介紹的JS截取字符串的三種方法,希望對大家有所幫助。在此也非常感謝大家對好二三四網站的支持!
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?