js中的string相關方法
一、String物件的建立
- var str = new String(s);
- str = String(s);
引數:
引數 s 是要儲存在 String 物件中或轉換成原始字串的值
返回值:
當 String() 和運算子 new 一起作為建構函式使用時,它返回一個新建立的 String 物件,存放的是字串 s 或 s 的字串表示。
當不用 new 運算子呼叫 String() 時,它只把 s 轉換成原始的字串,並返回轉換後的值。
二、String物件屬性
constructor:對建立該物件的函式的引用
length:字串的長度
prototype;允許向物件新增屬性和方法
三、String物件方法
1. anchor:建立HTML錨
- 語法:stringObject.anchor(anchorName)。必需。為錨定義名稱。
-
var txt = "hello world!";
-
document.write(txt.anchor("myAnchor")); //<a name="myAnchor">hello world!</a>
2. big:把字串顯示為大號字型
- 語法:stringObject.big( )
3. blink:用於顯示閃動的字串
- 語法:stringObject.blink( );
4. bold:用於把字串顯示為粗體
5. charAt:返回在指定位置的字元
- 語法:stringObject.charAt(index)。必需。表示字串中某個位置的數字,即字元在字串中的下標。
- JavaScript 並沒有一種有別於字串型別的字元資料型別,所以返回的字元是長度為 1 的字串。
6. charCodeAt( ):返回在指定的位置的字元的 Unicode 編碼
- 語法:stringObject.charCodeAt(index)。必需。表示字串中某個位置的數字,即字元在字串中的下標
- charCodeAt() 方法可返回指定位置的字元的 Unicode 編碼。這個返回值是 0 - 65535 之間的整數
7. concat( ):用於連線兩個或多個字串
- 語法:stringObject.concat(stringX,stringX,...,stringX)。stringX必需,被連線的為一個字串或者一個物件。
- concat() 方法將把它的所有引數轉換成字串,然後按順序連線到字串 stringObject 的尾部,並返回連線後的字串。請注意,stringObject 本身並沒有被更改。
- stringObject.concat() 與 Array.concat() 很相似
8. fixed:用於把字串顯示為打字機字型。
- 語法:stringObject.fixed( ).
9. fontcolor:用於按照指定的顏色來顯示字串
- 語法:stringObject.fontcolor(color)。color,必需。為字串規定 font-color。該值必須是顏色名(red)、RGB 值(rgb(255,0,0))或者十六進位制數(#FF0000)。
10. fontsize:用於按照指定的尺寸來顯示字串。
- 語法:stringObject.fontsize(size)。size引數必須是從1至7的數字
11. fromCharCode:可接受一個指定的 Unicode 值,然後返回一個字串
- 語法:String.fromCharCode(numX,numX,numX,...,numX).必需。一個或多個 Unicode 值,即要建立的字串中的字元的 Unicode 編碼。
- 該方法是 String 的靜態方法,字串中的每個字元都由單獨的數字 Unicode 編碼指定。
- 它不能作為您已建立的 String 物件的方法來使用。因此它的語法應該是 String.fromCharCode(),而不是 myStringObject.fromCharCode()。
12. indexOf:檢索字串
- 語法:stringObject.indexOf(searchvalue,fromindex)。searchvalue,必需,規定需檢索的字串值。fromindex,可選的整數引數。規定在字串中開始檢索的位置。它的合法取值是 0 到 stringObject.length - 1。如省略該引數,則將從字串的首字元開始檢索。
- indexOf( ) 方法對大小寫敏感
- 如果要檢索的字串值沒有出現,則該方法返回 -1。
13. italics:用於把字串顯示為斜體。
- 語法:stringObject.italics()
14. lastIndexOf:從後向前搜尋字串
- 語法:stringObject.lastIndexOf(searchvalue,fromindex)。searchvalue,必需。規定需檢索的字串值。。fromindex,可選的整數引數。規定在字串中開始檢索的位置。它的合法取值是 0 到 stringObject.length - 1。如省略該引數,則將從字串的最後一個字元處開始檢索。
- 如果在 stringObject 中的 fromindex 位置之前存在 searchvalue,則返回的是出現的最後一個 searchvalue 的位置。
- lastIndexOf()方法對大小寫敏感
- 如果要檢索的字串值沒有出現,則該方法返回 -1
15. link:用於把字串顯示為超連結
- 語法:stringObject.link(url)。必需。規定要連結的 URL
16. localeCompare:用本地特定的順序來比較兩個字串
- 語法:stringObject.localeCompare(target)
- 返回值:說明比較結果的數字。如果 stringObject 小於 target,則 localeCompare() 返回小於 0 的數。如果 stringObject 大於 target,則該方法返回大於 0 的數。如果兩個字串相等,或根據本地排序規則沒有區別,該方法返回 0。
17. match:找到一個或多個正則表示式的匹配
- 語法:stringObject.match(searchvalue) 或者 stringObject.match(regexp)
- match() 方法可在字串內檢索指定的值,或找到一個或多個正則表示式的匹配。
- 該方法類似 indexOf() 和 lastIndexOf(),但是它返回指定的值,而不是字串的位置
- 引數:searchvalue:必需,規定要檢索的字串值
- regexp,必需。規定要匹配的模式的 RegExp 物件。如果該引數不是 RegExp 物件,則需要首先把它傳遞給 RegExp 建構函式,將其轉換為 RegExp 物件。
- match() 方法將檢索字串 stringObject,以找到一個或多個與 regexp 匹配的文字。這個方法的行為在很大程度上有賴於 regexp 是否具有標誌 g
18. replace:替換與正則表示式匹配的子串
- 語法:stringObject.replace(regexp/substr,replacement)。regexp/substr,必需。規定子字串或要替換的模式的 RegExp 物件。replacement:必需。一個字串值。規定了替換文字或生成替換文字的函式
19. search:檢索與正則表示式相匹配的值
- 語法:stringObject.search(regexp)。regexp:該引數可以是需要在 stringObject 中檢索的子串,也可以是需要檢索的 RegExp 物件。要執行忽略大小寫的檢索,請追加標誌 i。
- 返回值:stringObject 中第一個與 regexp 相匹配的子串的起始位置。如果沒有找到任何匹配的子串,則返回 -1
- search() 方法不執行全域性匹配,它將忽略標誌 g。它同時忽略 regexp 的 lastIndex 屬性,並且總是從字串的開始進行檢索,這意味著它總是返回 stringObject 的第一個匹配的位置
20. slice:提取字串的片斷,並在新的字串中返回被提取的部分
- 語法:stringObject.slice(start,end)
- 返回值:一個新的字串。包括字串 stringObject 從 start 開始(包括 start)到 end 結束(不包括 end)為止的所有字元。
- String 物件的方法 slice()、substring() 和 substr() (不建議使用)都可返回字串的指定部分。slice() 比 substring() 要靈活一些,因為它允許使用負數作為引數。slice() 與 substr() 有所不同,因為它用兩個字元的位置來指定子串,而 substr() 則用字元位置和長度來指定子串。
- 還要注意的是,String.slice() 與 Array.slice() 相似。
21. small:使用小字號來顯示字串。
22. split:把字串分割為字串陣列。
- 語法:stringObject.split(separator,howmany)。separator,必需。字串或正則表示式,從該引數指定的地方分割 stringObject。howmany,可選。該引數可指定返回的陣列的最大長度。如果設定了該引數,返回的子串不會多於這個引數指定的陣列。如果沒有設定該引數,整個字串都會被分割,不考慮它的長度
- 返回值:一個字串陣列。該陣列是通過在 separator 指定的邊界處將字串 stringObject 分割成子串建立的。返回的陣列中的字串不包括 separator 自身。
23. strike:使用刪除線來顯示字串
24. sub:把字串顯示為下標
25. substr:從起始索引號提取字串中指定數目的字元
- 語法:stringObject.substr(start,length)。start,必需。要抽取的子串的起始下標。必須是數值。如果是負數,那麼該引數宣告從字串的尾部開始算起的位置。也就是說,-1 指字串中最後一個字元,-2 指倒數第二個字元,以此類推。length,可選。子串中的字元數。必須是數值。如果省略了該引數,那麼返回從 stringObject 的開始位置到結尾的字串。
- 返回值:一個新的字串,包含從 stringObject 的 start(包括 start 所指的字元) 處開始的 length 個字元。如果沒有指定 length,那麼返回的字串包含從 start 到 stringObject 的結尾的字元
- substr() 的引數指定的是子串的開始位置和長度,因此它可以替代 substring() 和 slice() 來使用
26. substring:提取字串中兩個指定的索引號之間的字元
- 語法:stringObject.substring(start,stop)。start,必需,一個非負的整數。規定要提取的子串的第一個字元在 stringObject 中的位置。stop,可選。一個非負的整數,比要提取的子串的最後一個字元在 stringObject 中的位置多 1。如果省略該引數,那麼返回的子串會一直到字串的結尾。
- 返回值:一個新的字串,該字串值包含 stringObject的一個子字串,其內容是從 start 處到 stop-1 處的所有字元,其長度為 stop減 start。
- 與 slice() 和 substr() 方法不同的是,substring() 不接受負的引數
27. sup:把字串顯示為上標
28. toLocaleLowerCase:把字串轉換為小寫
29. toLocaleUpperCase:把字串轉換為大寫
30. toLowerCase:把字串轉換為小寫
31. toUpperCase:把字串轉換為大寫
32. toSource:代表物件的原始碼
33. toString:返回字串
34. valueOf:返回某個字串物件的原始值
四、String物件描述
- 字串是 JavaScript 的一種基本的資料型別。
- String 物件的 length 屬性聲明瞭該字串中的字元數。
- String 類定義了大量操作字串的方法,例如從字串中提取字元或子串,或者檢索字元或子串。
- 需要注意的是,JavaScript 的字串是不可變的(immutable),String 類定義的方法都不能改變字串的內容。像 String.toUpperCase() 這樣的方法,返回的是全新的字串,而不是修改原始字串。
- 在較早的 Netscape 程式碼基的 JavaScript 實現中(例如 Firefox 實現中),字串的行為就像只讀的字元陣列。例如,從字串 s 中提取第三個字元,可以用 s[2] 代替更加標準的 s.charAt(2)。此外,對字串應用 for/in 迴圈時,它將列舉字串中每個字元的陣列下標(但要注意,ECMAScript 標準規定,不能列舉 length 屬性)。因為字串的陣列行為不標準,所以應該避免使用它。