JS中字符串的常見屬性及方法
1、屬性
1.1、length
var txt = "abc 123"; console.log(txt.length); // 7
2、方法
JS 為字符串內(nèi)置了許多屬性和方法,但這些內(nèi)置方法都不會(huì)改變?cè)械淖址粫?huì)返回一個(gè)新字符串,在 JS 中字符串是固定不變的。
2.1、返回字符位置(indexOf())
該方法返回某個(gè)指定的字符串值在字符串中首次出現(xiàn)的位置,如果找不到返回 -1
stringObject.indexOf(searchvalue,fromindex) //searchvalue必需 fromindex可選,規(guī)定在字符串中開始檢索的位置,最小為0
var str="abc efg, aaa"; var n = str.indexOf("aaa"); console.log(n) //9
2.2、去除字符串兩邊空白(trim())
該方法去除字符串的頭尾空格,該方法不會(huì)改變?cè)甲址T摲椒ㄔ谑褂蒙嫌袨g覽器限制,如果瀏覽器不支持,可以使用正則表達(dá)式來實(shí)現(xiàn)
var str = " Runoob "; console.log("--" + str + "--") //-- Runoob -- console.log("--" + str.trim() + "--"); //--Runoob--
function myTrim(x) { //當(dāng)瀏覽器不支持直接使用時(shí),可以用這個(gè)函數(shù)實(shí)現(xiàn)trim() return x.replace(/^\s+|\s+$/gm,''); } var str = myTrim(" Runoob "); console.log("--" + str + "--"); //--Runoob--
2.3、檢索匹配的字符串(search())
該方法用于檢索字符串中指定的子字符串,或檢索與正則表達(dá)式相匹配的子字符串。若找到則返回匹配到的字符串起始位置,索引從0開始,若找不到返回 -1.
var str = "abc Runoob!"; console.log(str.search("Runoob")); //4 console.log(str.search(/Runoob/i)); //4
2.4、替換匹配到的字符串(replace())
該方法用于在字符串中用一些字符替換另一些字符,或替換一個(gè)與正則表達(dá)式匹配的子串。
string.replace(searchvalue,newvalue)
var str = "Visit Microsoft! Visit Microsoft!"; var n = str.replace("Microsoft","Runoob"); //Visit Runoob! Visit Microsoft! var txt = str.replace(/microsoft/i,"Runoob"); //Visit Runoob! Visit Microsoft!
2.5、把其他類型轉(zhuǎn)化成字符串(toString()、String())
toString() : 除了null和undefined之外,其他的類型(數(shù)值,布爾,字符串,對(duì)象)都有此方法,它返回相應(yīng)值的字符串表現(xiàn)(并不修改原變量);
var age = 11; var ageAsString = age.toString(); //"11" alert(age) //11; var found = true; var foundAsString = found.toString(); //"true" var arr = [1,2,'a'] console.log(arr.toString(), typeof arr.toString()) //1,2,a string
String() : 在不知道要轉(zhuǎn)換的值是不是null和undefined情況下,還可以用String(),String()能夠?qū)⑷魏晤愋偷臄?shù)值轉(zhuǎn)換成string類型,String()遵循以下原則:
1.如果只有toString()方法,則調(diào)用toString()方法并返回相應(yīng)的結(jié)果;
2.如果值為null,則返回"null";
3.如果值為undefined,則返回 "undefined";

浙公網(wǎng)安備 33010602011771號(hào)