String對象是JavaScript原生提供的三個(gè)包裝對象之一,用來生成字符串的包裝對象實(shí)例庇麦。String對象直接提供的方法禾怠,主要是fromCharCode()
String.fromCharCode( 104,101,108,108,111 )// hello
實(shí)例對象的屬性(length屬性)
方法:
charAt()返回一個(gè)字符串的給定位置的字符糕珊,位置從0開始編號哄尔。
var s = new String( "abc" )
a.charAT(1) //"b"
charCodeAt( )返回給定位置字符的Unicode編碼(十進(jìn)制表示)。
concat( )用于連接兩個(gè)字符串侍咱。
substirng( )第一個(gè)參數(shù)表示子字符串的開始位置耐床,第二個(gè)位置表示結(jié)束結(jié)果。第一個(gè)參數(shù)大于第二個(gè)參數(shù)楔脯,否則會自動更換撩轰。參數(shù)為負(fù),會自動將負(fù)數(shù)轉(zhuǎn)為0昧廷。
substr( )第一個(gè)參數(shù)是子字符串的開始位置堪嫂,第二個(gè)參數(shù)是子字符串的長度。負(fù)數(shù)出現(xiàn)在第一個(gè)參數(shù)木柬,表示從尾部開始計(jì)算的字符位置皆串;負(fù)數(shù)出現(xiàn)在第二個(gè)參數(shù),將被轉(zhuǎn)為0眉枕。
slice()的第一個(gè)參數(shù)是子字符串的開始位置恶复,第二個(gè)參數(shù)是子字符串的結(jié)束位置。與substring方法不同的是速挑,如果第一個(gè)參數(shù)大于第二個(gè)參數(shù)谤牡,slice方法并不會自動調(diào)換參數(shù)位置,而是返回一個(gè)空字符串姥宝。如果參數(shù)為負(fù)翅萤,對于slice方法,表示字符位置從尾部開始計(jì)算腊满。
對這三個(gè)方法來說套么,如果省略第二個(gè)參數(shù),則表示子字符串一直持續(xù)到原字符串結(jié)束碳蛋。
indexOf( ) lastIndexOf( ): 用于確定一個(gè)字符串在另一個(gè)字符串中的位置胚泌,如果返回-1,就表示不匹配疮蹦。兩者的區(qū)別在于,indexOf從字符串頭部開始匹配茸炒,lastIndexOf從尾部開始匹配愕乎。
**trim( ) **用于去除字符串兩端的空格阵苇。
toLowerCase()將字符串轉(zhuǎn)為小寫
toUpperCase ()將字符串轉(zhuǎn)為大寫
localeCompare()比較兩個(gè)字符串 如:‘a(chǎn)pple’。localeCompare( 'banana' ) //-1
搜索和替換:
match():用于確定原字符串是否匹配某個(gè)子字符串感论,返回匹配的子字符串?dāng)?shù)組绅项。
search():等同于match,但是返回值不一樣比肄。
replace():用于替換匹配的字符串快耿。
split():將字符串按照給定規(guī)則分割,返回一個(gè)由分割出來的各部分組成的新數(shù)組芳绩。
var matches = "cat,bat,sat".match( "at" )
matches //[ "at" ]
matches.index //1
matches.input //"cat,bat,sat"
//index屬性和input屬性掀亥,表示匹配字符串開始位置和原始字符串。
"cat, bat, sat, fat".search("at") // 1
"cat, bat, sat, fat".search("dd") // -1
replace方法用于替換匹配的子字符串妥色,一般情況下只替換第一個(gè)匹配(除非使用帶有g(shù)修飾符的正則表達(dá)式)搪花。
"aaa".replace( "a", "b" ) // "baa" a是要替換的字符
split方法按照給定規(guī)則分割字符串,返回一個(gè)由分割出來的各部分組成的新數(shù)組嘹害。
" a| b| c ".split( "|" ) // ["a", "b", "c"]
" a| b| c ".split( "" ) // ["a", "|", "b", "|", "c"]
" a| b| c ".split( ) // ["a|b|c"]
split方法還可以接受第二個(gè)參數(shù)撮竿,限定返回?cái)?shù)組的最大成員數(shù)。