charAt | charCodeAt | concat | indexOf |
lastIndexOf | localeCompare | match | replace |
search | slice | split | substr |
substring | toLocaleLowerCase | toLocaleUpperCase | toLowerCase |
toString | toUpperCase | valueOf |
此法傳回字串中指標指定的字。其語法是:
charAt(指標)
指標為整數,由 0 到 字串.length-1。參數設為浮點數或數值字串,都會自動轉換成整數。只能用來讀取,不能用來存入,存入會失敗。
- 程式用法:
<script type='text/javascript'>
var Jolin='蔡依林';
try
{
Jolin.charAt(1)='A';
document.write( Jolin );
}
catch(e)
{
document.write( e.message +'<br />');
}
document.write( Jolin.charAt('1.6') );
</script> - 執行結果:
Invalid left-hand side in assignment
依
此法傳回字串中指標指定的字碼(獨角碼)。其語法是:
charCodeAt(指標)
指標為整數,由 0 到 字串.length-1。參數設為浮點數或數值字串,都會自動轉換成整數。只能用來讀取,不能用來存入,存入會失敗。
- 程式用法:
<script type='text/javascript'>
try
{
Jolin.charCodeAt(1)='A';
document.write( Jolin );
}
catch(e)
{
document.write( e.message +'<br />');
}
document.write( Jolin.charCodeAt('1.6') );
</script> - 執行結果:
Invalid left-hand side in assignment
20381
此法將數個字串合為一。其語法是:
String.concat(字串1, [..., 字串N])
字串.concat(字串1, [..., 字串N])
- 程式用法:
<script type='text/javascript'>
//document.write( String.concat(Jolin, ':大家好', '<br />') );
document.write( Jolin.concat(':大家好') );
</script> - 執行結果:
蔡依林:大家好
- 上面的 String.concat() 只有 Firefox 可執行;IE, Safari, Chrome 都失敗。
此法在母字串中,由前向後尋找指定的子字串,傳回第一個尋獲的指標。沒找到時傳回 -1。此法將大小寫字母視為不同。其語法是:
字串.indexOf(子字串 [, 始指標])
可選擇設定始指標,此為向後搜尋開始的位置。始指標由 0 到 字串.length-1,預設為 0。
- 程式用法:
<script type='text/javascript'>
var flowers='玫瑰花 鳳仙花 鬱金香';
document.write( flowers.indexOf('花') );
</script> - 執行結果:
2
此法在母字串中,由後向前尋找指定的子字串,傳回第一個尋獲的指標。沒找到時傳回 -1。此法將大小寫字母視為不同。其語法是:
字串.lastIndexOf(子字串 [, 始指標])
可選擇設定始指標,此為向前搜尋開始的位置。始指標由 0 到 字串.length-1,預設為字串長度。
- 程式用法:
<script type='text/javascript'>
document.write( flowers.lastIndexOf('花') );
</script> - 執行結果:
6
比較兩個字串的排列次序,傳回一個數值,表示其先後次序或相等。
- 程式用法:
<script type='text/javascript'>
document.write( Jolin.localeCompare('蔡依林') +'<br />');
document.write( Jolin.localeCompare('蔡依') +'<br />');
document.write( Jolin.localeCompare('蔡依林好') );
</script> - 執行結果:
0
1
-1
此法檢查母字串是否符合文法規則;傳回陣列,其中存有符合文法的子字串。其語法是:
字串.match(文法規則)
如果參數不是文法物件(RegExp),會自動轉換成文法物件。
- 程式用法:
<script type='text/javascript'>
var rs=flowers.match(/.{2}花/g) ;
document.write( rs.constructor +'<br /> ' +rs );
</script> - 執行結果:
function Array() { [native code] }
玫瑰花,鳳仙花
此法檢查母字串,將符合的子字串替換成新字串,傳回一個新字串,母字串不變。其語法是:
字串.replace(文法規則/子字串, 新字串/函式 [,旗式]);
第一個參數是搜尋目標,可以是子字串,也可以是文法規則。第二個參數是替換字串,可以是新字串;也可以是一個函式,此函式會產生替換子字串。當第一個參數是子字串時,可以選擇設定第三個參數旗式,其與文法規則的旗式相同。第三個參數旗式只有 Firefox 有支援;IE, Safari, Chrome 無此項。
- 程式用法:
<script type='text/javascript'>
document.write( flowers +'<br />');
document.write( flowers.replace(/.{2}花/g, '好香' ) +'<br />');
document.write( flowers.replace('花', '香', 'g' ) );
</script> - 執行結果:
玫瑰花 鳳仙花 鬱金香
好香 好香 鬱金香
玫瑰香 鳳仙花 鬱金香
第二個參數可放函式,此函式會產生替換字串。此替換函式的參數依序有:
- 第一個參數放符合子字串。
- n 個參數,放存入括號的符合子字串。文法規則沒用到存入括號,就可跳過此項。
- 放符合子字串的指標位置。
- 最後一個參數放母字串。
- 程式用法:
<script type='text/javascript'>
function newStr(match, index, str)
{
return match+' : '+index+' : '+str+'<br />';
}
document.write( flowers.replace(/.{2}花/g, newStr ) );
</script> - 執行結果:
玫瑰花 : 0 : 玫瑰花 鳳仙花 鬱金香
鳳仙花 : 4 : 玫瑰花 鳳仙花 鬱金香
鬱金香
替換字串中可以加入下列字符:
- $$:用兩個 $,表示一個 $ 。
- $&:加入符合子字串。
- $`:加入符合子字串之前的文字。
- $':加入符合子字串之後的文字。
- $n 或 $nn:文法規則使用存入括號,可以在替換字串中加入符合子字串。n 表示第 n 個存入括號。
- 程式用法:
<script type='text/javascript'>
document.write( flowers +'<br />');
document.write( flowers.replace(/\s.{2}花/, ' $$' ) +'<br />');
document.write( flowers.replace(/\s.{2}花/, ' 美麗的$&' ) +'<br />');
document.write( flowers.replace(/\s.{2}花/, ' 美麗的 $`' ) +'<br />');
document.write( flowers.replace(/\s.{2}花/, " 美麗的 $'" ) +'<br />');
document.write( flowers.replace(/(.{2}花)\s+(.{2}花)/, "$2 $1" ) +'<br />');
</script> - 執行結果:
玫瑰花 鳳仙花 鬱金香
玫瑰花 $ 鬱金香
玫瑰花 美麗的 鳳仙花 鬱金香
玫瑰花 美麗的 玫瑰花 鬱金香
玫瑰花 美麗的 鬱金香 鬱金香
鳳仙花 玫瑰花 鬱金香
此法檢查母字串是否符合文法規則;傳回符合子字串的指標位置。沒有符合時,傳回 -1。其語法是:
字串.search(文法規則)
如果參數不是文法物件(RegExp),會自動轉換成文法物件。
- 程式用法:
<script type='text/javascript'>
document.write( flowers.search(/\s.{2}花/g) );
</script> - 執行結果:
3
此法傳回母字串中的一段文字。其語法是:
字串.slice(始指標 [,終指標])
指標由 0 到 字串.length-1。指標為負值,則由母字串尾算起。擷取的文字由始指標開始,到終指標前一個字。沒設終指標或終指標大於母字串長度,則取到母字串尾。
- 程式用法:
<script type='text/javascript'>
document.write( flowers.slice(0) +'<br />');
document.write( flowers.slice(0, -2) +'<br />');
document.write( flowers.slice(0, 0) +'<br />');
document.write( flowers.slice(0, 1) +'<br />');
document.write( flowers.slice(0, 2) +'<br />');
document.write( flowers.slice(0, 200) +'<br />');
document.write( flowers.slice(4, 7) +'<br />');
document.write( flowers.slice(-7, 7) +'<br />');
document.write( flowers.slice(4, -2) );
</script> - 執行結果:
玫瑰花 鳳仙花 鬱金香
玫瑰花 鳳仙花 鬱
玫
玫瑰
玫瑰花 鳳仙花 鬱金香
鳳仙花
鳳仙花
鳳仙花 鬱
此法將母字串分個成子字串,傳回子字串的陣列。其語法是:
字串.split([分割字][, 限制數]);
可選擇的設分割字。分割字可是子字串,也可以是文法規則。符合的分割字不會存入陣列中。沒有設分割字時,會傳回整個母字串。
可選擇的設限制數,此為整數,限制最大分割次數。
- 程式用法:
<script type='text/javascript'>
document.write( flowers +'<br />');
rs=flowers.split(/\s/, 2);
for(var i=0; i < rs.length; i++)
document.write( rs[i] +'<br />');
</script> - 執行結果:
玫瑰花 鳳仙花 鬱金香
玫瑰花
鳳仙花
此法傳回母字串中的一段文字。其語法是:
字串.substr(始指標 [,長度])
指標由 0 到 字串.length-1。指標為負值,則由母字串尾算起。擷取的文字由始指標開始,取 長度 個字。沒設長度,則取到母字串尾。始指標超過母字串長或小於 1,則傳回空字串。
- 程式用法:
<script type='text/javascript'>
document.write( flowers +'<br />');
document.write( flowers.substr(4, 3) +'<br />');
document.write( flowers.substr(-7, 3) );
</script> - 執行結果:
玫瑰花 鳳仙花 鬱金香
鳳仙花
鳳仙花
此法傳回母字串中的一段文字。其語法是:
字串.substring(始指標 [,終指標])
指標由 0 到 字串.length-1。指標為負值,則歸零。指標大於母字串長度,則自動改為母字串長度。擷取的文字由始指標開始,到終指標前一個字。沒設終指標,則取到母字串尾。如果始指標大於終指標,則兩者意義互換。
- 程式用法:
<script type='text/javascript'>
document.write( flowers.substring(0) +'<br />');
document.write( flowers.substring(0, -2) +'<br />');
document.write( flowers.substring(0, 1) +'<br />');
document.write( flowers.substring(0, 200) +'<br />');
document.write( flowers.substring(4, 7) +'<br />');
document.write( flowers.substring(7, 4) );
</script> - 執行結果:
玫瑰花 鳳仙花 鬱金香
玫
玫瑰花 鳳仙花 鬱金香
鳳仙花
鳳仙花
傳回新字串,將母字串的地方字母全改成小寫。
- 程式用法:
<script type='text/javascript'>
document.write( 'ABCDEFG'.toLocaleLowerCase() );
</script> - 執行結果:
abcdefg
傳回新字串,將母字串的地方字母全改成大寫。
- 程式用法:
<script type='text/javascript'>
document.write( 'wxyz'.toLocaleUpperCase() );
</script> - 執行結果:
WXYZ
傳回新字串,將母字串的字母全改成小寫。
- 程式用法:
<script type='text/javascript'>
document.write( 'ABCDEFG'.toLowerCase() );
</script> - 執行結果:
abcdefg
此法傳回物件實體的字串。
- 程式用法:
<script type='text/javascript'>
document.write( flowers.toString() );
</script> - 執行結果:
玫瑰花 鳳仙花 鬱金香
傳回新字串,將母字串的字母全改成大寫。
- 程式用法:
<script type='text/javascript'>
document.write( 'wxyz'.toUpperCase() );
</script> - 執行結果:
WXYZ
此法傳回物件實體的基本字串。
- 程式用法:
<script type='text/javascript'>
document.write( flowers.valueOf() );
</script> - 執行結果:
玫瑰花 鳳仙花 鬱金香