JavaScript 字串(String)物件的方法 (2/2)
replace()
描述:用於在字串中用一些字元替換另一些字元,或替換一個與正則表示式匹配的子串。
原型:stringObject.replace(regexp/substr,replacement)
引數 | 描述 |
---|---|
regexp/substr | 必需。規定子字串或要替換的模式的 RegExp 物件。請注意,如果該值是一個字串,則將它作為要檢索的直接量文字模式,而不是首先被轉換為 RegExp 物件。 |
replacement | 必需。一個字串值。規定了替換文字或生成替換文字的函式。 |
用法1:
<script type="text/javascript"> var str = "Visit Microsoft!" document.write(str.replace(/Microsoft/, "W3School")) </script>
輸出1:
Visit W3School!
用法2:
<script type="text/javascript"> var str = "Welcome to Microsoft! " str = str + "We are proud to announce that Microsoft has " str = str + "one of the largest Web Developers sites in the world." document.write(str.replace(/Microsoft/g, "W3School")) </script>
輸出2:
Welcome to W3School! We are proud to announce that W3School has one of the largest Web Developers sites in the world.
search()
描述:用於檢索字串中指定的子字串,或檢索與正則表示式相匹配的子字串。
原型:stringObject.search(regexp)
引數 | 描述 |
---|---|
regexp | 該引數可以是需要在 stringObject 中檢索的子串,也可以是需要檢索的 RegExp 物件。註釋:要執行忽略大小寫的檢索,請追加標誌 i。 |
用法1:
<script type="text/javascript">
var str = "Visit W3School!"
document.write(str.search(/W3School/))
</script>
輸出1:
6
用法2:
<script type="text/javascript">
var str = "Visit W3School!"
document.write(str.search(/w3school/i))
</script>
輸出2:
6
slice()
描述:提取字串的某個部分,並以新的字串返回被提取的部分。
原型:stringObject.slice(start,end)
引數 | 描述 |
---|---|
start | 要抽取的片斷的起始下標。如果是負數,則該引數規定的是從字串的尾部開始算起的位置。也就是說,-1 指字串的最後一個字元,-2 指倒數第二個字元,以此類推。 |
end | 緊接著要抽取的片段的結尾的下標。若未指定此引數,則要提取的子串包括 start 到原字串結尾的字串。如果該引數是負數,那麼它規定的是從字串的尾部開始算起的位置。 |
返回值:一個新的字串。包括字串 stringObject 從 start 開始(包括 start)到 end 結束(不包括 end)為止的所有字元。
說明:String 物件的方法 slice()、substring() 和 substr() (不建議使用)都可返回字串的指定部分。slice() 比 substring() 要靈活一些,因為它允許使用負數作為引數。slice() 與 substr() 有所不同,因為它用兩個字元的位置來指定子串,而 substr() 則用字元位置和長度來指定子串。
還要注意的是,String.slice() 與 Array.slice() 相似。
用法:
<script type="text/javascript">
var str = "Hello happy world!"
console.log(str.slice(6))
console.log(str.slice(6, 11))
</script>
輸出:
happy world!
happy
small()
描述:用於把字串顯示為小號字。
原型:stringObject.small()
用法:
<script type="text/javascript">
var str = "Hello world!"
document.write(str.small())
</script>
輸出:
<small>Hello world!</small>xxxxxxxxxx<small>Hello world!</small>e
split()
描述:用於把一個字串分割成字串陣列。
原型:stringObject.split(separator,howmany)
引數 | 描述 |
---|---|
separator | 必需。字串或正則表示式,從該引數指定的地方分割 stringObject。 |
howmany | 可選。該引數可指定返回的陣列的最大長度。如果設定了該引數,返回的子串不會多於這個引數指定的陣列。如果沒有設定該引數,整個字串都會被分割,不考慮它的長度。 |
返回值:一個字串陣列。該陣列是通過在 separator 指定的邊界處將字串 stringObject 分割成子串建立的。返回的陣列中的字串不包括 separator 自身。
但是,如果 separator 是包含子表示式的正則表示式,那麼返回的陣列中包括與這些子表示式匹配的字串(但不包括與整個正則表示式匹配的文字)。
註釋:如果把空字串 ("") 用作 separator,那麼 stringObject 中的每個字元之間都會被分割。String.split() 執行的操作與 Array.join 執行的操作是相反的。
用法:
<script type="text/javascript">
var str = "How are you doing today?"
console.log(str.split(" "))
console.log(str.split(""))
console.log(str.split(" ", 3))
</script>
輸出:
["How", "are", "you", "doing", "today?"]
["H", "o", "w", " ", "a", "r", "e", " ", "y", "o", "u", " ", "d", "o", "i", "n", "g", " ", "t", "o", "d", "a", "y", "?"]
["How", "are", "you"]
strike()
描述:用於顯示加刪除線的字串。
原型:stringObject.strike()
用法:
<script type="text/javascript">
var str = "Hello world!"
document.write(str.strike())
</script>
輸出:
<strike>Hello world!</strike>
sub()
描述:用於把字串顯示為下標。
原型:stringObject.sub()
用法:
<script type="text/javascript">
var str = "Hello world!"
document.write(str.sub())
</script>
輸出:
<sub>Hello world!</sub>
substr()
描述:在字串中抽取從 start 下標開始的指定數目的字元。
原型:stringObject.substr(start,length)
引數 | 描述 |
---|---|
start | 必需。要抽取的子串的起始下標。必須是數值。如果是負數,那麼該引數宣告從字串的尾部開始算起的位置。也就是說,-1 指字串中最後一個字元,-2 指倒數第二個字元,以此類推。 |
length | 可選。子串中的字元數。必須是數值。如果省略了該引數,那麼返回從 stringObject 的開始位置到結尾的字串。 |
返回值:一個新的字串,包含從 stringObject 的 start(包括 start 所指的字元) 處開始的 length 個字元。如果沒有指定 length,那麼返回的字串包含從 start 到 stringObject 的結尾的字元。
註釋:substr() 的引數指定的是子串的開始位置和長度,因此它可以替代 substring() 和 slice() 來使用。
重要事項:ECMAscript 沒有對該方法進行標準化,因此反對使用它。
重要事項:在 IE 4 中,引數 start 的值無效。在這個 BUG 中,start 規定的是第 0 個字元的位置。在之後的版本中,此 BUG 已被修正。
用法:
<script type="text/javascript">
var str = "Hello world!"
console.log(str.substr(3))
console.log(str.substr(3, 7))
</script>
輸出:
lo world!
lo worl
substring()
描述:用於提取字串中介於兩個指定下標之間的字元。
原型:1111111111
引數 | 描述 |
---|---|
start | 必需。一個非負的整數,規定要提取的子串的第一個字元在 stringObject 中的位置。 |
stop | 可選。一個非負的整數,比要提取的子串的最後一個字元在 stringObject 中的位置多 1。如果省略該引數,那麼返回的子串會一直到字串的結尾。 |
返回值:一個新的字串,該字串值包含 stringObject 的一個子字串,其內容是從 start 處到 stop-1 處的所有字元,其長度為 stop 減 start。
說明:substring() 方法返回的子串包括 start 處的字元,但不包括 stop 處的字元。
如果引數 start 與 stop 相等,那麼該方法返回的就是一個空串(即長度為 0 的字串)。如果 start 比 stop 大,那麼該方法在提取子串之前會先交換這兩個引數。
重要事項:與 slice() 和 substr()方法不同的是,substring() 不接受負的引數。
用法:
<script type="text/javascript">
var str = "Hello world!"
console.log(str.substring(3))
console.log(str.substring(3, 7))
</script>
輸出:
lo world!
lo w
toLocaleLowerCase()
描述:用於把字串轉換為小寫。
原型:stringObject.toLocaleLowerCase()
返回值:一個新的字串,在其中 stringObject 的所有大寫字元全部被轉換為了小寫字元。
說明:與 toLowerCase() 不同的是,toLocaleLowerCase() 方法按照本地方式把字串轉換為小寫。只有幾種語言(如土耳其語)具有地方特有的大小寫對映,所有該方法的返回值通常與 toLowerCase() 一樣。
用法:
<script type="text/javascript">
var str = "Hello World!"
console.log(str.toLocaleLowerCase())
</script>
輸出:
hello world!
toLocaleUpperCase()
描述:用於把字串轉換為大寫。
原型:stringObject.toLocaleUpperCase()
返回值:一個新的字串,在其中 stringObject 的所有小寫字元全部被轉換為了大寫字元。
說明:與 toUpperCase() 不同的是,toLocaleUpperCase() 方法按照本地方式把字串轉換為大寫。只有幾種語言(如土耳其語)具有地方特有的大小寫對映,所有該方法的返回值通常與 toUpperCase() 一樣。
用法:
<script type="text/javascript">
var str = "Hello World!"
console.log(str.toLocaleUpperCase())
</script>
輸出:
HELLO WORLD!
toLowerCase()
描述:用於把字串轉換為小寫。
原型:stringObject.toLowerCase()
用法:
<script type="text/javascript">
var str = "Hello World!"
console.log(str.toLowerCase())
</script>
輸出:
hello world!
toUpperCase()
描述:用於把字串轉換為大寫。
原型:stringObject.toUpperCase()
返回值:一個新的字串,在其中 stringObject 的所有小寫字元全部被轉換為了大寫字元。
用法:
<script type="text/javascript">
var str = "Hello World!"
console.log(str.toUpperCase())
</script>
輸出:
HELLO WORLD!
toString()
描述:toString() 方法返回字串。
原型:stringObject.toString()
返回值:stringObject 的原始字串值。一般不會呼叫該方法。
丟擲:當呼叫該方法的物件不是 String 時丟擲 TypeError 異常。
用法:
<script type="text/javascript">
var str = "Hello World!"
console.log(str.toString())
</script>
輸出:
Hello World!
valueOf()
描述:valueOf() 方法可返回 String 物件的原始值。
原始值是由從 String 物件下來的所有物件繼承的。
valueOf() 方法通常由 JavaScript 在後臺自動進行呼叫,而不是顯式地處於程式碼中。
原型:stringObject.valueOf()
用法:
<script type="text/javascript">
var str = "Hello World!"
console.log(str.valueOf())
</script>
輸出:
Hello World!