JavaScript 字符串查找
■知識點
使用字符串的charAtO和charCodeAtO方法,可以根據(jù)參數(shù)(非負整數(shù)的下標值)返回指定位置的字符或字符編碼。使用字符串的indexOf()和lastlndexOfO方法,可以根據(jù)參數(shù)字符串,返回指定子字符串的下標位置。
search()方法與indexOf()功能相同,查找指定字符串第一次出現(xiàn)的位置。但是search()方法僅有一個參數(shù),定義匹配模式。該方法沒有l(wèi)astlndex0f()方法的反向檢索功能,也不支持全局模式。
match()方法能夠找出所有匹配的子字符串,并以數(shù)組的形式返回。
■實例設計
【示例1】下面的示例為String類型擴展一個原型方法,用來把字符串轉換為數(shù)組。在函數(shù)中使用charAt()方法讀取字符串中每個字符,然后裝入一個數(shù)組并返回。
String.prototype.toArray = function() { //把字符串轉換為數(shù)組
var 1 = this.length, a =[]; //獲取當前字符串長度,并定義空數(shù)組
if (1){ //如果存在則執(zhí)行循環(huán)操作,預防空字符串
for( var i = 0; i < 1; i ++ ){ //遍歷字符串,枚舉每個字符
a.push( this.charAt( i ) ); //把每個字符按順序裝入數(shù)組
}
}
return a; //返回數(shù)組
}
應用原型方法:
var s = "abcdefghijklmn" . toArray () ; //把字符串轉換為數(shù)組
for (var i in s) { //遍歷返回數(shù)組,顯示每個字符
console.log(s [i]);
}
【示例2】下面的代碼分別查詢URL字符串中兩個點號字符的下標位置。
var s = "http://www.mysite.cn/”;
var b = s.indexOf ( " . " ); //返回值為10,即第1個字符"."的下標位置
var e = s.indexOf ( " . ", b + 1 ) ; //返回值為17,即第2個字符"."的下標位置
下面的代碼按從右到左的順序查詢URL字符串中最后一個點號字符的下標位置。
var s = "http://www.mysite.cn/index.html";
var n = s.lastlndexOf ( "." ) ; //返回值為26,即第3個字符"."的下標位置
點擊加載更多評論>>