字符串是javascript中常用的一種基本數(shù)據(jù)類型,掌握了其方法,便于對(duì)字符串進(jìn)行操作。下面就來介紹一下字符串的方法:
首先創(chuàng)建一個(gè)字符串,創(chuàng)建字符串的方法有兩種:
1.字面量:var str = "abc123efg456";
2.構(gòu)造函數(shù):var str = newString("abc123efg456");
其次,需要注意的是,javascript的字符串是不可變的,String類定義的方法都不可以改變字符串內(nèi)容。若是需要通過方法改變字符串的內(nèi)容,需要將返回值重新賦值給原來的字符串。如:str = str.toUpperCase();
下面,介紹比較常用的字符串的方法:
var str = "1abc123abc456abc";
1.indexOf(s,n)方法
功能:返回指定的字符串值在字符串中首次出現(xiàn)的位置。
參數(shù):s為要檢索的字符,必需;n為可選的字符參數(shù),規(guī)定字符串檢索的位置。
demo:
var index1 = str.indexOf("a");
var index2 =str.indexOf("a",8);
var index3 =str.indexOf("a",14);
console.log(index1); // 1
console.log(index2); // 13
console.log(index3); // -1? 從檢索的位置檢索不到字符,返回-1
2.lastIndexOf(s,n)方法
功能:返回一個(gè)指定的字符串值最后出現(xiàn)的位置,在一個(gè)字符串中的指定位置從后向前搜索。
參數(shù):s為要檢索的字符,必需;n為可選的字符參數(shù),規(guī)定字符串檢索的位置。
demo:
var index1 =str.lastIndexOf("a");?
var index2 =str.lastIndexOf("a",11);
var index3 =str.lastIndexOf("a",0);
console.log(index1); // 13
console.log(index2); // 7
console.log(index3); // -1? 從檢索的位置檢索不到字符,返回-1
3.charAt(n)方法
功能:返回指定位置的字符。
參數(shù):n表示字符串中某個(gè)位置的索引,不寫默認(rèn)為第0個(gè)字符。
demo:
var s = str.charAt(3);
console.log(s);? // c
4.charCodeAt(n)方法
功能:返回指定位置的字符的Unicode編碼。
參數(shù):n表示字符串中某個(gè)位置的索引,可以沒有參數(shù),默認(rèn)是索引為0的參數(shù)。
demo:
var s = str.charCodeAt(3);
console.log(s);? // 99
注:c的unicode編碼為99。
注意:charAt(n)方法和charCodeAt(n)方法類似,前者返回的是字符,后者返回的是字符的unicode編碼。
5.fromCharCode()方法
功能:將編碼轉(zhuǎn)成字符方法。
參數(shù):十進(jìn)制和十六進(jìn)制,不支持unicode編碼。
demo:
var s1 =String.fromCharCode("0x56fd");
var s2 = String.fromCharCode(22269);
console.log(s1);?? //國
console.log(s2);? //國
注:“國”的十六進(jìn)制編碼是56fd,十進(jìn)制是22269。
6.slice(m,n)方法
功能:根據(jù)指定位置,截取子串,從m到n,不包括n。
參數(shù):m,n為索引。
demo:
var s = str.slice(2,7);
console.log(s); // bc123
7.substring(m,n)方法
功能:根據(jù)指定位置,截取子串,從m到n,不包括n。
參數(shù):m,n為索引。
demo:
var s = str.substring(2,7);
console.log(s); // bc123
8.substr(m,n)方法
功能:根據(jù)指定位置,截取子串,從m位置取,共取n個(gè)。
參數(shù):m,n為索引。
demo:
var s = str.substr(2,7);
console.log(s); // bc123ab
9.replace(oldstr,newstr)方法
功能:字符串替換。
參數(shù):oldstr為需要被替換的字符,newstr為替換的字符。
demo:
var s =str.replace("a","l");
console.log(s); // 1lbc123abc456abc
注意:每次只能替換一個(gè)符合條件的字符。
10.split("s")方法
功能:分割字符,返回成為數(shù)組。
參數(shù):"s"為分割的字符。
demo1:
var arr1 = str.split("b");
console.log(arr1);? // ["1a", "c123a","c456a", "c"]
demo2:
var arr2 = str.split(); //["1abc123abc456abc"]
console.log(arr2);
demo3:
var arr3 = str.split("");
console.log(arr3); // ["1","a", "b", "c", "1", "2","3", "a", "b", "c", "4","5", "6", "a", "b", "c"]
注意:參數(shù)不寫的時(shí)候,返回原字符串組成的數(shù)組;參數(shù)為空字符的時(shí)候,將每個(gè)字符分割,返回一個(gè)數(shù)組
11.search()方法
功能:檢索字符串中指定的子字符串,返回第一個(gè)與字符串匹配的索引值。
參數(shù):需要被檢索的字符串。
demo:
var s1= str.search("abc");
var s2 = str.search("efg");
console.log(s1); // 1
console.log(s2); // -1
注:如果沒有找到任何匹配的子串,則返回-1。
12.match()方法
功能:在字符串內(nèi)檢索指定的值,匹配到就返回指定的字符值。
參數(shù):需要被檢索的字符串。
demo:
var s1= str.match("abc");
var s2 = str.match("efg");
console.log(s1); // ["abc",index: 1, input: "1abc123abc456abc", groups: undefined]
console.log(s2); // null
注:該方法類似indexOf()和lastIndexOf(),但是它返回指定的值,沒有就返回null
13.concat()方法
功能:連接兩個(gè)或多個(gè)字符串,返回連接后的字符串。
參數(shù):需要連接的字符串。
demo:
var str1="abc ";
var str2="123";
console.log(str1.concat(str2));?? // "abc 123"
提示:如果需要拼接字符串,用運(yùn)算符“+”更簡單。
14.toLowerCase()方法
功能:把字符串轉(zhuǎn)換為小寫。
參數(shù):無
demo:
var str = "ABC abc";
console.log(str.toLowerCase()); // abcabc
15.toUpperCase()方法
功能:把字符串轉(zhuǎn)換為大寫。
參數(shù):無
demo:
var str = "ABC abc";
console.log(str.toUpperCase()); // ABCABC
16.big()方法
功能:把字符串顯示為大號(hào)字體。
參數(shù):無
demo:
var s = str.big();
document.write(str+"");
document.write(s);

17.small()方法
功能:把字符串顯示為小號(hào)字。
參數(shù):無
demo:
var s = str.small();
document.write(str+"");
document.write(s);

18.bold()方法
功能:把字符串顯示為粗體。
參數(shù):無
demo:
var s = str.bold();
document.write(str+"");
document.write(s);

19.italics()方法
功能:把字符串顯示為斜體。
參數(shù):無
demo:
var s = str.italics();
document.write(str+"");
document.write(s);

20.fontcolor(color)方法
功能:將字符以指定的顏色顯示。
參數(shù):顏色名(red)、RGB 值(rgb(255,0,0))或者十六進(jìn)制數(shù)(#FF0000)。
demo:
var s = str.fontcolor("red");
document.write(str+"");
document.write(s);

21.fontsize(size)方法
功能:將字符以指定的字號(hào)顯示。
參數(shù):size參數(shù)必須是從1和7之間的數(shù)字,1表示小的字號(hào),7表示最大的字號(hào)。
demo:
var s = str.fontsize(7);
document.write(str+"");
document.write(s);

22.link(url)方法
功能:把字符串顯示為超鏈接。
參數(shù):鏈接的URL。
demo:
var s =str.link("http://www.baidu.com");
document.write(str+"");
document.write(s);

23.strike()方法
功能:把字符串加字符串顯示。
參數(shù):無
demo:
var s = str.strike();
document.write(str+"");
document.write(s);

以上是對(duì)字符串方法的整理,如有修改、補(bǔ)充,后續(xù)會(huì)更新。
文中如果紕漏,錯(cuò)誤,不合理,描述不清晰,不準(zhǔn)確等問題,歡迎大家留言指正...