JavaScript Core Object | 字串物件(String Object)

字串物件(String Object)

String 物件 兼容性:IE3+、NN2+、Moz1+、Safari1+
屬性 constructor、length、prototype
方法 anchor、big、blink、bold、fixed、fontcolor、fontsize、italics、link、small、strike、sub、sup、charAt、
charCodeAt、concat、fromCharCode、indexOf、lastIndexOf、localeCompare、match、replace、search、
slice、split、substr、substring、toLowerCase、toUpperCase、toString、valueOf
strObj = new String(Str)  Str:字串
String(Num)               Num:數值(轉換為字串)

用來存放或處理字串的物件。

//範例
var myStr = new String(12345);
var myData = myStr + 6789;			//自動將 6789 由數值轉換為字串
									//("字串 + 數值"會自動變成"字串 + 字串")

document.write(myData);				//結果為 123456789(這個是字串不是數值)
document.write(typeof(myData));		//檢查 myData 變數的結果為 string
big bold fixed italics small strike sub sup 方法 兼容性:IE3+、NN2+、Moz1+、Safari1+
blink 方法 兼容性:NN2+、Moz1+、Safari1+
strObj.big() 放大文字 strObj.blink() 閃爍文字 strObj.bold() 粗體文字
strObj.fixed() 等寬文字 strObj.italics() 斜體文字 strObj.small() 縮小文字
strObj.strike() 加刪除線 strObj.sub() 文字下標 strObj.sup() 文字上標

用來做文字上的修飾效果。

//範例
var myStr1 = "The Time Of My Life";
var myStr2 = "2";var myStr3 = "3";
	document.write(myStr1.big() + "<br />");
	document.write(myStr1.blink() + "<br />");			//IE無效果
	document.write(myStr1.bold() + "<br />");
	document.write(myStr1.fixed() + "<br />");
	document.write(myStr1.italics() + "<br />");
	document.write(myStr1.small() + "<br />");
	document.write(myStr1.strike() + "<br />");
	document.write("H" + myStr2.sub() + "O" + "<br />");
	document.write("2" + myStr3.sup() + "= 8");
fontcolor fontsize 方法 兼容性:IE3+、NN2+、Moz1+、Safari1+
strObj.fontcolor(color)  color:顏色的名稱或 RGB
strObj.fontsize(size)    size:1~7 的文字大小

用來設定文字的顏色與大小。

//範例
var myStr = "The Time Of My Life";
	document.write(myStr.fontcolor("red") + "<br />");
	document.write(myStr.fontsize(6) + "<br />");
	document.write(myStr.fontcolor("blue").fontsize(7));
link 方法 兼容性:IE3+、NN2+、Moz1+、Safari1+
strObj.link(url)  url:鏈結的網址或路徑與檔名

用來設定文字的超鏈結。

//範例
var myStr = "TO SeedNET";
	document.write(myStr.link('http://www.seed.net.tw'));
toLowerCase toUpperCase 方法 兼容性:IE3+、NN2+、Moz1+、Safari1+
strObj.toLowerCase()  全部轉為小寫
strObj.toUpperCase()  全部轉為大寫

用來設定英文字母大小寫的轉換。

//範例
var myStr = "AChGUydseEZxQbj";
	document.write("原本字串內容:" + myStr + "<br />");
	document.write("全部轉為小寫:" + myStr.toLowerCase() + "<br />");
	document.write("全部轉為大寫:" + myStr.toUpperCase());
charCodeAt fromCharCode 方法 兼容性:IE4+、NN4+、Moz1+、Safari1+
strObj.charCodeAt(n)              將字元轉換成 Unicode 編碼
                                  n:指定字元的位置
String.fromCharCode(c1,c2,…,cN)   將 Unicode 編碼轉換成字元
                                  c1,c2,…,cN:編碼

用來做字碼與字元的轉換。

//範例
//指定字元的位置其起始位置為 0 例如位置 3 表示字串中的第 4 個字元
var myStr = "JavaScript";
	document.write(myStr.charCodeAt(4));		//結果 S 轉換成 83
	document.write(String.fromCharCode(83));	//結果 83 轉換成 S
length 屬性 兼容性:IE3+、NN2+、Moz1+、Safari1+
strObj.length

用來傳回字串的長度。

//範例
document.write("webpages".length);				//結果為 8
document.write("家庭聯絡簿".length);				//結果為 5
indexOf lastIndexOf 方法 兼容性:IE4+、NN4+、Moz1+、Safari1+
strObj.indexOf(subStr,start)      subStr:欲搜尋的子字串
strObj.lastIndexOf(subStr,start)  start:開始搜尋的位置

indexOf 會從字串左側開始搜尋,lastIndexOf 是會從字串右側開始搜尋。

//範例
<div>ABCDEFGhijklmnopq</div>					//網頁中某段內容

//網頁中 JavaScript 區段
document.write("ABCDEFG".indexOf("FG",0));		//傳回 FG 在字串中 5 的起始位置上
document.write("ABCDEFG".lastIndexOf("EF",10));	//傳回在 4 的位置上
document.write("ABCDEFG".indexOf("123",0));		//找不到傳回 -1
match replace search 方法 兼容性:IE4+、NN4+、Moz1+、Safari1+
strObj.match(regExp)           strObj:字串或字串物件的名稱
strObj.replace(regExp,repStr)  regExp:正規表達式的樣式字串
strObj.search(regExp)          repStr:取代用的字串

使用正規表達式來比對(match)、取代(replace)與搜尋(search)特定的字串。無法比對成功時傳回 null。

//範例
var myStr = "abcdef ABCDEF"
	document.write(myStr.match(/abc/gi));		//比對結果顯示為 abc,ABC
	document.write(myStr.search(/ABC/));		//搜尋結果在字串 7 的位置找到
	document.write(myStr.replace(/ABC/,123));	//結果顯示為 abcdef 123DEF
charAt 方法 兼容性:IE3+、NN2+、Moz1+、Safari1+
slice 方法 兼容性:IE4+、NN4+、Moz1+、Safari1+
split 方法 兼容性:IE4+、NN3+、Moz1+、Safari1+
substr 方法 兼容性:IE4+、NN4+、Moz1+、Safari1+
substring 方法 兼容性:IE3+、NN2+、Moz1+、Safari1+
strObj.charAt(N)               strObj:字串或字串物件的名稱
strObj.slice(start,end)        N:字元位置
strObj.split(delimiter,limit)  start:字元起始位置
strObj.substr(start,strcount)  end:字元終止位置
strObj.substring(start,end)    delimiter:切割用的字串
                               limit:最大分割數
                               strcount:字元數

charAt 是用來取出一個字元,slice 是用來取出字串片段,split 是以指定的字串來分割,substr 是取出指定位置起始的字串,substring 是取出指定範圍內的字串。

//範例
document.write("ABCDEFGHI".charAt(5));		//結果為 F(字串起始的位置是 0)
document.write("ABCDEFGHI".slice(3,6));		//結果為 DEF(起始於 3 終止於 6)
document.write("ABCDEFGHI".split("FGHI"));	//結果為 ABCDE,
document.write("ABCDEFGHI".substr(0,3));	//結果為 ABC
document.write("ABCDEFGHI".substring(1,6));	//結果為 BCDEF