三種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));//返回整個字串
- 返回第一個字元
// 1.位位擷取
alert(stmp.slice(0,1));//返回"r"
alert(stmp.substring(0,1));//返回"r"
//上面的例子中我們可以看出slice()和substring()的用法是相同的,返回的值也一樣,
//但當引數為負數時,他們的返回值卻不一樣,看下面的例子
alert(stmp.slice(2,-5));//返回"i";實際上是slice(2,3),負數加上字串長度轉換成正3,(若第一位 >= 第二位, 則返回空字串);
alert(stmp.substring(2,-5));//返回"rc"; 實際上是substring(2,0),負數都轉換為0, substring總是把較小的數作為起始位置。
// 2. 位位擷取 和 位數擷取
alert(stmp.substring(1,5))//從第1位開始,擷取到第5位;返回"cinn"
alert(stmp.substr(1,5)); //從第1位開始,擷取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'