js中object、字符串與正則表達式的方法


對象

1.object.hasOwnProperty(name)

檢測object是否包含一個名為name的屬性,那么hasOwnProperty方法返回true,但是不包括其原型上的屬性。

 

正則表達式

2.regexp.exec(string)

exec方法是正則表達式最強大和最慢的方法。如果成功的匹配regexp和字符串,他會返回一個數組。數組中下標為0的元素將會包含正則表達式regexp匹配的子字符串。下標為1的元素是分組1捕獲的文本,下標為2的元素是分組2捕獲的文本。如果匹配失敗,會返回null。

 

如果regexp帶有一個g標志。查找不是從這個字符串的其實位置開始,而是從regexp.lastIndex(初始值為0)位置開始。如果匹配成功,那么regexp.lastIndex將被設置為該匹配后第一個字符的位置。不成功的匹配會重置regexp.lastIndex為0。

 

3.regexp.test(string)

是使用正則表達式的最簡單和最快的方法。如果該regexp匹配string,返回true,否則返回false。不要對這樣方法使用g標識。

 

字符串

4.string.chatAt(pos)

返回:在string中pos處的字符串。如果pos小於0或者大於等於字符串長度string.length,他會返回空字符串。

例如:

1 var foo=function(){
2           var str="",str1="abc",c=undefined,d=null;
3           console.log(str.charAt(0));//沒有輸出結果
4           console.log(str1.charAt(1));//b
5           console.log(c.charAt(1));//報錯
6           console.log(d.charAt(1));//報錯
7 
8        };
9 foo();

 charAt()可以這樣實現

String.method("charAt",function(pos){

       return this.slice(pos,pos+1);

});

 

5.string.charCodeAt(pos)

返回:以整數形式標識的string中pos位置的字符的字符編碼。如果pos小於0或者大於等於字符串長度string.length,他會返回NaN。

 

6.string.cancat(string……)

返回:返回連接在一起的新的字符串,但是用+更加方便。

例如:

var s="c".cancat("a","n");

 

7.string.indexOf(searchString,position)

返回:在string內部查找searchString。

如果找到,返回第一個匹配字符的位置,否則返回-1.可選參數position可指從某個指定的位置開始查找:

 1 var foo=function(){
 2           var str="",str1="abcabc",c=undefined,d=null;
 3           console.log(str.indexOf("a",0));//-1
 4           console.log(str1.indexOf("a",0));//0
 5           console.log(str1.indexOf("a",1));//3
 6           console.log(c.indexOf("a",0));//報錯
 7           console.log(d.indexOf("a",0));//報錯
 8 
 9        };
10        foo();

 

8.string.lastIndexOf(searchString,position)

返回:searchString的從string末尾開始查找的位置。

例如:

1 var text = 'Mississippi';
2 var p = text.lastIndexOf('ss');    // p is 5
3 p = text.lastIndexOf('ss', 3);     // p is 2
4 p = text.lastIndexOf('ss', 6);     // p is 5

 

 

9.string.localeCompare(that)

返回:比較兩個字符串。如何比較沒有特別的說明,如果string比字符串that小,那么結果為負數。如果他們是相等的,結果為0.

 

10.string.match(regexp)

返回:讓字符串與正則表達式匹配。依據g標識決定如何進行匹配。如果沒有g標識,那么調用string.match(regexp)的結果與調用regexp.exec(string)結果相同。然而,如果regexp帶有g標識符,他將生成一個包含所有匹配(除捕獲分組之外)的數組:

 

 

11.string.replace(searchValue,replaceValue)

返回:對string進行查找和替換操作,並返回一個新的字符串。參數searchValue可以是一個字符串或一個正則表達式對象。如果是一個字符串,那么searchValue只會在第一次出現的地方被替換。例如:

 var result = "mother_in_law".replace('_', '-'); ,如果searchValue是一個正則表達式並且帶有g標志,他會替換所有的匹配,如果沒有帶g標識,它會僅替換第1個匹配。例如:

1 var oldareacode = /\((\d{3})\)/g;
2 var p = '(555)666-1212'.replace(oldareacode, '$1-');
3 // p is '555-555-1212'

replaceValue可以是一個字符串或一個函數。如果replaceValue是一個函數,那么每遇到一次匹配函數就會被調用一次,而該函數返回的字符串會被用作替換文本。傳遞給這個函數的第一個參數是整個被匹配的文本,第2個參數是分組1捕獲的文本,再下一個參數是分組2捕獲的文本,依次類推。

 

12.string.slice(start,end)

返回:復制string中的一部分來構造一個新的字符串。

如果start參數是負數,它將與string.length相加。

end參數是可選的,且默認值是string.length。如果end參數是負數,那么它將與string.length相加。end參數等於你要取得最后一個字符位置加1。

想要從位置p開始的n個字符,就用string.slice(p,p+n);

例如:

1 var text = 'and in it he says "Any damn fool could';
2 var a = text.slice(18);
3 // a is '"Any damn fool could'
4 var b = text.slice(0, 3);
5 // b is 'and'
6 var c = text.slice(−5);
7 // c is 'could'
8 var d = text.slice(19, 32);
9 // d is 'Any damn fool'

 

 

13.string.split(separator,limit)

返回:將string分割成片段來創建的一個字符串數組。可選參數limit可以限制被分割的片段數量。separator參數可以是一個字符串或一個正則表達式。

 

如果separator是一個空白字符,會返回一個單字符數組,例如:

1 var digits = '0123456789';
2 var a = digits.split('', 5);
3 // a is ['0', '1', '2', '3', '456789']

 

否則,會查找所有separator出現的地方。分隔符兩邊的每個單元文本都會被復制到該數組中。此方法會忽略g標識符。

來自捕獲組的文本會白包含在分割后的數組中:

1 var text = 'last,  first ,middle';
2 var e = text.split(/\s*(,)\s*/);
3 // e is [
4 //    'last',
5 //    ',',
6 //    'first',
7 //    ',',
8 //    'middle'
9 // ]

 

 

14.string.search(regexp)

與indexOf相似,接收一個正則表達式對象作為參數而不是一個字符串。如果找到匹配,它返回第1個匹配的首字符的位置,如果沒有找到匹配,則返回-1。此方法會忽略g標志,且沒有position參數:

1 var text = 'and in it he says "Any damn fool could';
2 var pos = text.search(/["']/);    // pos is 18

 

15.string.substring(start,end)

與slice一樣,但是不能處理負參數。

 

16.string.toLocaleLowerCase()

返回一個新的字符串,使用本地化規則把這個string中的所有的字母轉換為小寫格式。

 

17.string.LocaleUpperCase()

返回一個新字符串,使用本地化規則把這個string中的所有的字母轉換為大寫格式。

 

18.string.toLowerCase()

返回一個新的字符串,string中的所有字母都被轉化為小寫格式

 

19.string.toUpperCase()

返回一個新的字符串,string中的所有字母都被轉化為大寫格式

 

20.string.fromCharCode(char……)

根據一串數字編碼返回一個字符串

var a = String.fromCharCode(67, 97, 116);
// a is 'Cat'


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM