演示地址:點我
1、lenght屬性
//lenght算是字符串中非常常用的一個屬性了,它的功能是獲取字符串的長度。要注意的是Javascript中的中文每個漢字也只代表一個字符。var str = 'abc';console.log(str.length);//返回32、PRototype屬性
//prototype在面向對象編程中會經常用到,用來給對象添加屬性或方法,并且添加的方法或屬性在所有的實例上共享。因此也常用來擴展js內在對象,如下面的代碼給字符串添加了一個去除兩邊空格的方法var str = ' a bc';String.prototype.trim = function(){ return this.replace(/^/s*|/s*$/g, '');}console.log(str.trim);//返回abc1、獲取類方法
//charAt() , stringObject.charAt(index)//charAt()方法用來獲取指定位置的字符串,index為字符串的索引值,從0開始到string.leng - 1,若不在這個范圍內,則返回一個空字符串var str = 'abcde';console.log(str.charAt(2));//返回cconsole.log(str.charAt(8));//返回空字符串//charCodeAt() , stringObject.charCodeAt(index)//charCodeAt()方法可返回指定位置的字符的Unicode編碼。console.log(str.charCodeAt(0)); //返回97//fromCharCode() , fromCharCode()可接受一個或多個Unicode值,然后返回一個字符串。另外該方法是String 的靜態方法,字符串中的每個字符都由單獨的數字Unicode編碼指定。console.log(String.fromCharCode(97, 98, 99, 100, 101)); //返回abcde2、查找類方法
//indexOf() , stringObject.indexOf(searchvalue,fromindex)//indexOf()用來檢索指定的字符串值在字符串中首次出現的位置。它可以接收兩個參數,searchvalue表示要查找的子字符串,fromindex表示查找的開始位置,省略的話則從開始位置進行檢索。var str = 'abcdeabcde';console.log(str.indexOf('a')); // 返回0console.log(str.indexOf('a',2)); // 返回5console.log(str.indexOf('bc')); // 返回1//lastIndexOf() , stringObject.lastIndexOf(searchvalue,fromindex)//lastIndexOf()語法與indexOf()類似,它返回的是一個指定的子字符串值最后出現的位置,其檢索順序是從后向前。console.log(str.lastIndexOf('a')); // 返回5console.log(str.lastIndexOf('a', 3)); // 返回0 從第索引3的位置往前檢索console.log(str.lastIndexOf('bc')); // 返回6//search() , stringObject.search(substr),stringObject.search(regexp)//search()方法用于檢索字符串中指定的子字符串,或檢索與正則表達式相匹配的子字符串。它會返回第一個匹配的子字符串的起始位置,如果沒有匹配的,則返回-1var str1 = 'abcDEF';console.log(str1.search('c')); //返回2console.log(str1.search('d')); //返回-1console.log(str1.search(/d/i)); //返回3//match() , stringObject.match(substr) , stringObject.match(regexp)//match()方法可在字符串內檢索指定的值,或找到一個或多個正則表達式的匹配。//如果參數中傳入的是子字符串或是沒有進行全局匹配的正則表達式,那么match()方法會從開始位置執行一次匹配,如果沒有匹配到結果,則返回null。否則則會返回一個數組,該數組的第0個元素存放的是匹配文本,除此之外,返回的數組還含有兩個對象屬性index和input,分別表示匹配文本的起始字符索引和stringObject 的引用(即原字符串)。var str2 = '1a2b3c4d5e';console.log(str2.match('h')); //返回nullconsole.log(str2.match('b')); //返回["b", index: 3, input: "1a2b3c4d5e"]console.log(str2.match(/b/)); //返回["b", index: 3, input: "1a2b3c4d5e"]//如果參數傳入的是具有全局匹配的正則表達式,那么match()從開始位置進行多次匹配,直到最后。如果沒有匹配到結果,則返回null。否則則會返回一個數組,數組中存放所有符合要求的子字符串,并且沒有index和input屬性。console.log(str2.match(/h/g)); //返回nullconsole.log(str2.match(//d/g)); //返回["1", "2", "3", "4", "5"]3、截取類方法
// substring() , stringObject.substring(start,end)//substring()是最常用到的字符串截取方法,它可以接收兩個參數(參數不能為負值),分別是要截取的開始位置和結束位置,它將返回一個新的字符串//,其內容是從start處到end-1處的所有字符。若結束參數(end)省略,則表示從start位置一直截取到最后。var str = 'abcdefg';console.log(str.substring(1, 4)); //返回bcdconsole.log(str.substring(1)); //返回bcdefgconsole.log(str.substring(-1)); //返回abcdefg,傳入負值時會視為0//slice() , stringObject.slice(start,end)//slice()方法與substring()方法非常類似,它傳入的兩個參數也分別對應著開始位置和結束位置。而區別在于,slice()中的參數可以為負值,//如果參數是負數,則該參數規定的是從字符串的尾部開始算起的位置。也就是說,-1 指字符串的最后一個字符。console.log(str.slice(1, 4)); //返回bcdconsole.log(str.slice(-3, -1)); //返回efconsole.log(str.slice(1, -1)); //返回bcdefconsole.log(str.slice(-1, -3)); //返回空字符串,若傳入的參數有問題,則返回空//substr() , stringObject.substr(start,length)//substr()方法可在字符串中抽取從start下標開始的指定數目的字符。其返回值為一個字符串,包含從 stringObject的start(包括start所指的字符)處開始的length個字符。//如果沒有指定 length,那么返回的字符串包含從start到stringObject的結尾的字符。另外如果start為負數,則表示從字符串尾部開始算起。console.log(str.substr(1, 3)) //返回bcdconsole.log(str.substr(2)) //返回cdefgconsole.log(str.substr(-2, 4)) //返回fg,目標長度較大的話,以實際截取的長度為準4、其他方法
// replace() , stringObject.replace(regexp/substr,replacement)// replace()方法用來進行字符串替換操作,它可以接收兩個參數,前者為被替換的子字符串(可以是正則),后者為用來替換的文本。//如果第一個參數傳入的是子字符串或是沒有進行全局匹配的正則表達式,那么replace()方法將只進行一次替換(即替換最前面的),返回經過一次替換后的結果字符串。var str = 'abcdeabcde';console.log(str.replace('a', 'A'));console.log(str.replace(/a/, 'A'));//如果第一個參數傳入的全局匹配的正則表達式,那么replace()將會對符合條件的子字符串進行多次替換,最后返回經過多次替換的結果字符串。var str1 = 'abcdeabcdeABCDE';console.log(str1.replace(/a/g, 'A')); //返回AbcdeAbcdeABCDEconsole.log(str1.replace(/a/gi, '$')); //返回$bcde$bcde$BCDE//split() , stringObject.split(separator,howmany)//split()方法用于把一個字符串分割成字符串數組。第一個參數separator表示分割位置(參考符),第二個參數howmany表示返回數組的允許最大長度(一般情況下不設置)。var str2 = 'a|b|c|d|e';console.log(str2.split('|')); //返回["a", "b", "c", "d", "e"]console.log(str2.split('|', 3)); //返回["a", "b", "c"]console.log(str2.split('')); //返回["a", "|", "b", "|", "c", "|", "d", "|", "e"]//也可以用正則來進行分割var str3 = 'a1b2c3d4e';console.log(str3.split(//d/)); //返回["a", "b", "c", "d", "e"]// toLowerCase()和toUpperCase()//toLowerCase()方法可以把字符串中的大寫字母轉換為小寫,toUpperCase()方法可以把字符串中的小寫字母轉換為大寫。var str4 = 'JavaScript';console.log(str4.toLowerCase()); //返回javascriptconsole.log(str4.toUpperCase()); //返回JAVASCRIPT
|
新聞熱點
疑難解答