JS截取字符串的三種方法詳解

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截取字符串的三種方法,希望對大傢有所幫助。在此也非常感謝大傢對WalkonNet網站的支持!

推薦閱讀: