String | NN 2 IE 3 ECMA 1 | ||||||||||||||||||||||||||||||||||||
String オブジェクトは、演算処理の対象とならず常にテキストとして扱われる文字列を表します。文字列には 0 文字以上の文字を含めることができます。このオブジェクトで使用できるメソッドは数多くありますが、2 種類のカテゴリに大別できます。まず第 1 のカテゴリは、HTML の各種文字フォーマットを使用するために HTML タグで文字列を囲むタイプのメソッドです。これらのメソッドは通常、document.write() を使って動的にコンテンツを作成するステートメントと一緒に使用しますが、現在ではスタイルシートがその機能を果たします。第 2 のカテゴリは、文字列の解析と操作を行う標準的なメソッドで、文字や部分文字列の検索とコピー、大文字と小文字の変換、および文字列リストの JavaScript 配列への変換などを行います。 |
|||||||||||||||||||||||||||||||||||||
一般に文字列を作成するには、次のように値を引用符で囲んで変数に割り当てるだけで済みます。 |
|||||||||||||||||||||||||||||||||||||
var myString = "howdy"; |
|||||||||||||||||||||||||||||||||||||
ただし、静的な String オブジェクトのコンストラクタを使って文字列オブジェクトを作成した方が良い場合もあります。たとえば、Java アプレットに渡す文字列値を準備する場合などは、この方法を使って次のように文字列を作成します。 |
|||||||||||||||||||||||||||||||||||||
var myString = new String("howdy"); |
|||||||||||||||||||||||||||||||||||||
コンストラクタ、prototype プロパティ、および fromCharCode() メソッド以外のすべてのプロパティとメソッドは、静的な String オブジェクト自体ではなく、String オブジェクトのインスタンスで使用します。 |
|||||||||||||||||||||||||||||||||||||
String オブジェクトの作成方法 | |||||||||||||||||||||||||||||||||||||
var myValue = "someString"; var myValue = new String("someString"); |
|||||||||||||||||||||||||||||||||||||
プロパティ | |||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||
メソッド | |||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||
constructor | NN 4 IE 4 ECMA 1 |
読み書き | |
String オブジェクトのインスタンスを作成した関数、つまりブラウザでのネイティブな String() コンストラクタ関数への参照です。 |
|
例 | |
if (myVar.constructor == String) { // process native string } |
|
値 | |
関数オブジェクトの参照 |
|
length | NN 2 IE 3 ECMA 1 |
読み取り専用 | |
文字列に含まれる文字数を設定します。文字列値の長さは、新しい値が設定された場合や他の文字列と連結された場合には動的に変更されます。 |
|
例 | |
for (var i = 0; i < myString.length; i++) { ... } |
|
値 | |
整数値 |
|
prototype | NN 3 IE 4 ECMA 1 |
読み書き | |
静的な String オブジェクトのプロパティです。prototype プロパティを使って、現在のドキュメントでこれから作成される String のインスタンスに新しいプロパティやメソッドを設定します。使用例は Array.prototype プロパティを参照してください。 |
|
例 | |
String.prototype.author = "DG"; |
|
値 | |
関数参照を含むすべてのデータ |
|
anchor() | NN 2 IE 3 ECMA なし |
anchor("anchorName") | |
アンカー (<a>) タグで囲まれている文字列のコピーを返します。パラメータで指定した値は、タグの name 属性に設定されます。 |
|
戻り値 | |
a 要素内の文字列 |
|
パラメータ | |
|
|
big() | NN 2 IE 3 ECMA なし |
<big> タグで囲まれている文字列のコピーを返します。 |
|
戻り値 | |
big 要素内の文字列 |
|
パラメータ | |
なし |
|
blink() | NN 2 IE 3 ECMA なし |
<blink> タグで囲まれている文字列のコピーを返します。 |
|
戻り値 | |
blink 要素内の文字列 |
|
パラメータ | |
なし |
|
bold() | NN 2 IE 3 ECMA なし |
<b> タグで囲まれている文字列のコピーを返します。 |
|
戻り値 | |
b 要素内の文字列 |
|
パラメータ | |
なし |
|
charAt() | NN 2 IE 3 ECMA 1 |
charAt(positionIndex) | |
パラメータで指定された 0 から始まるインデックスの位置にある文字を、文字列として返します。文字列の特定位置にある 1 文字だけを取得する場合に、substring() ではなくこのメソッドを使用します。 |
|
戻り値 | |
1 文字の文字列。最近のブラウザでは、パラメータで指定した位置が文字列の長さを越える場合は空の文字列が返されます。 |
|
パラメータ | |
|
|
charCodeAt() | NN 4 IE 4 ECMA 1 |
charCodeAt(positionIndex) | |
パラメータで指定された 0 から始まるインデックスの位置にある文字の、10 進の Unicode 値を返します。よく使われる英数字の Unicode 値は ASCII 値と同じです。 |
|
戻り値 | |
正の整数パラメータで指定した位置が文字列の長さを越える場合は NaN が返されます。 |
|
パラメータ | |
|
|
concat() | NN 4 IE 4 ECMA なし |
concat(string2) | |
パラメータで指定した文字列を現在の文字列オブジェクトに連結し、その結果の文字列を返します。このメソッドの結果は、加算 (+) または加算代入 (+=) の演算子を使って文字列を連結した場合と同じです。このメソッドと演算子にどちらを使用した場合でも、2 つの文字列の間にスペースは追加されません。 |
|
戻り値 | |
文字列 |
|
パラメータ | |
|
|
fixed() | NN 2 IE 3 ECMA なし |
<tt> タグで囲まれている文字列のコピーを返します。 |
|
戻り値 | |
tt 要素内の文字列 |
|
パラメータ | |
なし |
|
fontcolor() | NN 2 IE 3 ECMA なし |
fontColor(color) | |
フォント (<font>) タグで囲まれている文字列のコピーを返します。パラメータで指定した値は、タグの color 属性に設定されます。 |
|
戻り値 | |
font 要素内の文字列 |
|
パラメータ | |
|
|
fontsize() | NN 2 IE 3 ECMA なし |
fontSize(size) | |
フォント (<font>) タグで囲まれている文字列のコピーを返します。パラメータで指定した値は、タグの size 属性に設定されます。 |
|
戻り値 | |
font 要素内の文字列 |
|
パラメータ | |
|
|
fromCharCode() | NN 4 IE 4 ECMA 1 |
fromCharCode(num1, [, num2,[...numN]]) | |
コンマ区切りリストとしてパラメータで指定された Unicode 値に対応する文字から成る文字列を返します。これは静的メソッドです。たとえば、 |
|
String.fromCharCode(120, 121, 122) |
|
という式は "xyz" という文字列を返します。 |
|
戻り値 | |
文字列 |
|
パラメータ | |
|
|
indexOf() | NN 2 IE 3 ECMA 1 |
indexOf(searchString[, startPositionIndex]) | |
現在の文字列内の、searchString パラメータで指定した部分文字列が始まる位置を示す、0 から始まるインデックスを表す整数を返します。このメソッドは通常、文字列の最初の文字 (インデックスが 0 の文字) から検索を開始しますが、オプションの 2 番目のパラメータで検索の開始位置を指定して文字列の途中から検索を始めることもできます。一致するものがない場合、-1 が返されます。これは特定の文字列に別の文字列が含まれているかどうかを調べるのに便利な方法で、下位互換性があります。戻り値が -1 の場合、searchString が元の文字列に含まれていないことになります。戻り値が 1 以外であれば、元の文字列に searchString が含まれています。正規表現をサポートするブラウザでは、String オブジェクトの search() メソッドがこれと同様の機能を果たします。 |
|
戻り値 | |
整数値 |
|
パラメータ | |
|
|
italics() | NN 2 IE 3 ECMA なし |
<i> タグで囲まれている文字列のコピーを返します。 |
|
戻り値 | |
i 要素内の文字列 |
|
パラメータ | |
なし |
|
lastIndexOf() | NN 2 IE 3 ECMA 1 |
lastIndexOf(searchString[, startPositionIndex]) | |
現在の文字列オブジェクト内の、searchString パラメータで指定した部分文字列が始まる位置を、0 から始まるインデックス値を示す整数として返します。このメソッドは indexOf() メソッドと似ていますが、検索を文字列の最後または特定のインデックス位置から開始する点で異なります。検索は文字列の最後から始めますが、startPositionIndex パラメータに指定する値と戻り値は、文字列の先頭を基準とします。一致するものがない場合、-1 が返されます。 |
|
戻り値 | |
整数値 |
|
パラメータ | |
|
|
link() | NN 2 IE 3 ECMA なし |
link(URL) | |
アンカー (<a>) タグで囲まれている文字列のコピーを返します。パラメータで指定した値は、タグの href 属性に設定されます。 |
|
戻り値 | |
a 要素内の文字列 |
|
パラメータ | |
|
|
localeCompare() | NN 6 IE 5.5 (Win) ECMA 3 |
localeCompare(string2) | |
現在の文字列が、パラメータの文字列の前、同じ位置、または後に並べ替えられるかを示す数値を返します。並べ替えは、ブラウザとシステムに依存する文字列のローカライズ設定に基づきます。現在の文字列がパラメータの文字列の前に並べ替えられる場合、戻り値は負の数値になります。同じ位置になる場合は、戻り値は 0 です。現在の文字列がパラメータの文字列の後に並べ替えられる場合は、戻り値は正の数値になります。 |
|
文字列にラテン文字セット以外の文字が含まれる場合は、ブラウザによってローカライズ設定が異なるので、注意してこのメソッドを使用する必要があります。また、戻り値の計算もブラウザによって異なります。 |
|
戻り値 | |
整数値 |
|
パラメータ | |
|
|
match() | NN 4 IE 4 ECMA 3 |
match(regexpression) | |
現在の文字列内にある、パラメータで指定された正規表現に一致する文字列の配列を返します。たとえば 5 桁の数字に一致する正規表現を指定した場合、match() メソッドの戻り値は元の文字列に含まれているすべての 5 桁の数字を示す文字列の配列となります。静的な RegExp オブジェクトのプロパティは、このメソッドの操作によって影響を受けます。 |
|
戻り値 | |
文字列の配列 |
|
パラメータ | |
|
|
replace() | NN 4 IE 4 ECMA 3 |
replace(regexpression、replaceString) | |
regexpression パラメータで指定した正規表現に一致する文字列を replaceString パラメータで指定した文字列に置換して、その結果の文字列を返します。この操作では元の文字列は変更されないので、変更を維持するには、戻り値を変数に格納する必要があります。 |
|
戻り値 | |
文字列 |
|
パラメータ | |
|
|
search() | NN 4 IE 4 ECMA 3 |
search(regexpression) | |
現在の文字列内の regexpression パラメータで指定した正規表現に一致する文字列の開始位置を、0 から始まるインデックス値で返します。このメソッドは indexOf() メソッドに似ていますが、文字列ではなく正規表現を使って検索する点が異なります。 |
|
戻り値 | |
整数値 |
|
パラメータ | |
|
|
slice() | NN 4 IE 4 ECMA 3 |
slice(startPositionIndex, endPositionIndex]) | |
現在の文字列の部分文字列を返します。元の文字列にある指定された開始位置からの部分文字列をコピーします。開始位置は 0 から始まるインデックス値で指定します。2 番目のパラメータを指定しない場合、元の文字列の最後までの部分が返されます。2 番目のパラメータを指定する場合は、部分文字列を終了する位置を 0 から始まるインデックス値により指定します。負の値を指定すると、文字列の最後からの文字数を数えます。 |
|
戻り値 | |
文字列 |
|
パラメータ | |
|
|
small() | NN 2 IE 3 ECMA なし |
<small> タグで囲まれている文字列のコピーを返します。 |
|
戻り値 | |
small 要素内の文字列 |
|
パラメータ | |
なし |
|
split() | NN 3 IE 4 ECMA 1 |
split(delimiter [, limitInteger]) | |
現在の文字列の部分を要素とする新しい配列オブジェクトを返します。このメソッドでは、現在の文字列が最初のパラメータで指定された区切り文字のある箇所で配列要素に分割されます。新しい配列には区切り文字は含まれません。split() メソッドの結果を代入する場合、事前に配列を宣言する必要はありません。たとえば、文字列にコンマで区切った名前のリストが含まれている場合、そのリストを配列に変換するには、次のようなステートメントを使用します。 |
|
var listArray = stringList.split(","); |
|
パラメータに正規表現を使用して、特定の文字ではなくパターンを使って文字列を分割することもできます。 |
|
戻り値 | |
配列 |
|
パラメータ | |
|
|
strike() | NN 2 IE 3 ECMA なし |
<strike> タグで囲まれている文字列のコピーを返します。 |
|
戻り値 | |
strike 要素内の文字列 |
|
パラメータ | |
なし |
|
sub() | NN 2 IE 3 ECMA なし |
<sub> タグで囲まれている文字列のコピーを返します。 |
|
戻り値 | |
sub 要素内の文字列 |
|
パラメータ | |
なし |
|
substr() | NN 4 IE 4 ECMA なし |
substr(startPositionIndex [, length]) | |
現在の文字列から部分文字列を抽出してそのコピーを返します。最初のパラメータで指定した位置から抽出を開始します。2 番目のパラメータを指定しない場合、元の文字列の最後までの部分が返されます。2 番目のパラメータを使って元の文字列から抽出する文字の数を指定できます。substring() メソッドのパラメータはこれと異なり、抽出の開始位置と終了位置を指定します。 |
|
戻り値 | |
文字列 |
|
パラメータ | |
|
|
substring() | NN 2 IE 3 ECMA 1 |
substring(startPositionIndex, endPositionIndex) | |
現在の文字列から部分文字列を抽出してそのコピーを返します。最初のパラメータで指定された 0 から始まるインデックス位置から開始して、2 番目のパラメータで指定されたインデックス位置の直前までの部分文字列を抽出します。たとえば、"Frobnitz".substring(0,4) は位置 0 ~ 3 の部分文字列である Frob を返します。これに対して substr() メソッドのパラメータでは、抽出の開始位置と文字数を指定します。 |
|
戻り値 | |
文字列 |
|
パラメータ | |
|
|
sup() | NN 2 IE 3 ECMA なし |
<sup> タグで囲まれている文字列のコピーを返します。 |
|
戻り値 | |
sup 要素内の文字列 |
|
パラメータ | |
なし |
|
toLocaleLowerCase()、toLocaleUpperCase() | NN 6 IE 5.5 ECMA 3 |
現在の文字列をすべて大文字または小文字に変換してそのコピーを返します。通常のメソッドと同じように機能しますが、ラテン言語のアルファベット以外の文字は特殊な内部処理を必要とする場合があります。 |
|
戻り値 | |
文字列 |
|
パラメータ | |
なし |
|
toLowerCase()、toUpperCase() | NN 2 IE 3 ECMA 1 |
現在の文字列をすべて大文字または小文字に変換してそのコピーを返します。現在の文字列をこのメソッドの結果で置換するには、次のように元の文字列に結果を代入します。 |
|
myString = myString.toUpperCase(); |
|
大文字と小文字を区別せずに 2 つの文字列を比較するには、通常このどちらかのメソッドを使用します。これは、ユーザー入力では大文字と小文字を区別しない場合があるので、比較する片方の文字列がユーザー入力である場合に特に便利です。次に例を示します。 |
|
if (document.forms[0].entry.value.toLowerCase() == compareValue) { ... } |
|
戻り値 | |
文字列 |
|
パラメータ | |
なし |
|
toString()、valueOf() | NN 4 IE 4 ECMA 1 |
オブジェクトの文字列値を返します。 |
|
戻り値 | |
文字列値 |
|
パラメータ | |
なし |
|