1. 程式人生 > >三種JS擷取字串方法

三種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'