StringNN 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");
 
プロパティ
 
constructorlengthprototype
 
メソッド
 
anchor()big()blink()bold()
charAt()charCodeAt()concat()fixed()
fontcolor()fontsize()fromCharCode()indexOf()
italics()lastIndexOf()link()localeCompare()
match()replace()search()slice()
small()split()strike()sub()
substr()substring()sup()toLocaleLowerCase()
toLocaleUpperCase()toLowerCase()toString()toUpperCase()
valueOf()
 
constructorNN 4 IE 4 ECMA 1

読み書き

String オブジェクトのインスタンスを作成した関数、つまりブラウザでのネイティブな String() コンストラクタ関数への参照です。

 
 
if (myVar.constructor == String) {
    // process native string
}
 

関数オブジェクトの参照

 
lengthNN 2 IE 3 ECMA 1

読み取り専用

文字列に含まれる文字数を設定します。文字列値の長さは、新しい値が設定された場合や他の文字列と連結された場合には動的に変更されます。

 
 
for (var i = 0; i < myString.length; i++) {
    ...
}
 

整数値

 
prototypeNN 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 要素内の文字列

 
パラメータ
 
  • anchorName
      name 属性の値として割り当てる文字列
 
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 文字の文字列。最近のブラウザでは、パラメータで指定した位置が文字列の長さを越える場合は空の文字列が返されます。

 
パラメータ
 
  • positionIndex
      0 を基準とする整数
 
charCodeAt()NN 4 IE 4 ECMA 1

charCodeAt(positionIndex)

パラメータで指定された 0 から始まるインデックスの位置にある文字の、10 進の Unicode 値を返します。よく使われる英数字の Unicode 値は ASCII 値と同じです。

 
戻り値

正の整数パラメータで指定した位置が文字列の長さを越える場合は NaN が返されます。

 
パラメータ
 
  • positionIndex
      0 を基準とする整数
 
concat()NN 4 IE 4 ECMA なし

concat(string2)

パラメータで指定した文字列を現在の文字列オブジェクトに連結し、その結果の文字列を返します。このメソッドの結果は、加算 (+) または加算代入 (+=) の演算子を使って文字列を連結した場合と同じです。このメソッドと演算子にどちらを使用した場合でも、2 つの文字列の間にスペースは追加されません。

 
戻り値

文字列

 
パラメータ
 
  • string2
      文字列
 
fixed()NN 2 IE 3 ECMA なし

<tt> タグで囲まれている文字列のコピーを返します。

 
戻り値

tt 要素内の文字列

 
パラメータ

なし

 
fontcolor()NN 2 IE 3 ECMA なし

fontColor(color)

フォント (<font>) タグで囲まれている文字列のコピーを返します。パラメータで指定した値は、タグの color 属性に設定されます。

 
戻り値

font 要素内の文字列

 
パラメータ
 
  • color
      color 属性の値として割り当てる文字列
 
fontsize()NN 2 IE 3 ECMA なし

fontSize(size)

フォント (<font>) タグで囲まれている文字列のコピーを返します。パラメータで指定した値は、タグの size 属性に設定されます。

 
戻り値

font 要素内の文字列

 
パラメータ
 
  • size
      size 属性の値として割り当てる整数
 
fromCharCode()NN 4 IE 4 ECMA 1

fromCharCode(num1, [, num2,[...numN]])

コンマ区切りリストとしてパラメータで指定された Unicode 値に対応する文字から成る文字列を返します。これは静的メソッドです。たとえば、

 
String.fromCharCode(120, 121, 122)
 

という式は "xyz" という文字列を返します。

 
戻り値

文字列

 
パラメータ
 
  • num1...numN
      整数値を引用符なしのコンマ区切りリストとして指定します。
 
indexOf()NN 2 IE 3 ECMA 1

indexOf(searchString[, startPositionIndex])

現在の文字列内の、searchString パラメータで指定した部分文字列が始まる位置を示す、0 から始まるインデックスを表す整数を返します。このメソッドは通常、文字列の最初の文字 (インデックスが 0 の文字) から検索を開始しますが、オプションの 2 番目のパラメータで検索の開始位置を指定して文字列の途中から検索を始めることもできます。一致するものがない場合、-1 が返されます。これは特定の文字列に別の文字列が含まれているかどうかを調べるのに便利な方法で、下位互換性があります。戻り値が -1 の場合、searchString が元の文字列に含まれていないことになります。戻り値が 1 以外であれば、元の文字列に searchString が含まれています。正規表現をサポートするブラウザでは、String オブジェクトの search() メソッドがこれと同様の機能を果たします。

 
戻り値

整数値

 
パラメータ
 
  • searchString
      現在の文字列オブジェクト内で検索する文字列
  • startPositionIndex
      現在の文字列オブジェクト内で最初のパラメータの検索を開始する位置を示す、0 から始まるインデックス値を表す整数値
 
italics()NN 2 IE 3 ECMA なし

<i> タグで囲まれている文字列のコピーを返します。

 
戻り値

i 要素内の文字列

 
パラメータ

なし

 
lastIndexOf()NN 2 IE 3 ECMA 1

lastIndexOf(searchString[, startPositionIndex])

現在の文字列オブジェクト内の、searchString パラメータで指定した部分文字列が始まる位置を、0 から始まるインデックス値を示す整数として返します。このメソッドは indexOf() メソッドと似ていますが、検索を文字列の最後または特定のインデックス位置から開始する点で異なります。検索は文字列の最後から始めますが、startPositionIndex パラメータに指定する値と戻り値は、文字列の先頭を基準とします。一致するものがない場合、-1 が返されます。

 
戻り値

整数値

 
パラメータ
 
  • searchString
      現在の文字列オブジェクト内で検索する文字列
  • startPositionIndex
      現在の文字列オブジェクト内で最初のパラメータの検索を開始する位置を示す、0 から始まるインデックス値を表す整数値。検索自体は文字列の最後から開始しますが、このパラメータには文字列の先頭を基準とした位置を指定します。
 
link()NN 2 IE 3 ECMA なし

link(URL)

アンカー (<a>) タグで囲まれている文字列のコピーを返します。パラメータで指定した値は、タグの href 属性に設定されます。

 
戻り値

a 要素内の文字列

 
パラメータ
 
  • URL
      href 属性の値として割り当てる文字列
 
localeCompare()NN 6 IE 5.5 (Win) ECMA 3

localeCompare(string2)

現在の文字列が、パラメータの文字列の前、同じ位置、または後に並べ替えられるかを示す数値を返します。並べ替えは、ブラウザとシステムに依存する文字列のローカライズ設定に基づきます。現在の文字列がパラメータの文字列の前に並べ替えられる場合、戻り値は負の数値になります。同じ位置になる場合は、戻り値は 0 です。現在の文字列がパラメータの文字列の後に並べ替えられる場合は、戻り値は正の数値になります。

 

文字列にラテン文字セット以外の文字が含まれる場合は、ブラウザによってローカライズ設定が異なるので、注意してこのメソッドを使用する必要があります。また、戻り値の計算もブラウザによって異なります。

 
戻り値

整数値

 
パラメータ
 
  • string2
      文字列
 
match()NN 4 IE 4 ECMA 3

match(regexpression)

現在の文字列内にある、パラメータで指定された正規表現に一致する文字列の配列を返します。たとえば 5 桁の数字に一致する正規表現を指定した場合、match() メソッドの戻り値は元の文字列に含まれているすべての 5 桁の数字を示す文字列の配列となります。静的な RegExp オブジェクトのプロパティは、このメソッドの操作によって影響を受けます。

 
戻り値

文字列の配列

 
パラメータ
 
  • regexpression
      正規表現オブジェクト。正規表現オブジェクトの構文と作成方法については、正規表現オブジェクトを参照してください。
 
replace()NN 4 IE 4 ECMA 3

replace(regexpressionreplaceString)

regexpression パラメータで指定した正規表現に一致する文字列を replaceString パラメータで指定した文字列に置換して、その結果の文字列を返します。この操作では元の文字列は変更されないので、変更を維持するには、戻り値を変数に格納する必要があります。

 
戻り値

文字列

 
パラメータ
 
  • regexpression
      正規表現オブジェクト。replace() メソッドを文字列にグローバルに適用するには、正規表現のグローバルのスイッチ (g) を設定します。正規表現オブジェクトの構文と作成方法については、正規表現オブジェクトを参照してください。
  • replaceString
      現在の文字列にある regexpression に一致するすべての文字列を置換する文字列
 
search()NN 4 IE 4 ECMA 3

search(regexpression)

現在の文字列内の regexpression パラメータで指定した正規表現に一致する文字列の開始位置を、0 から始まるインデックス値で返します。このメソッドは indexOf() メソッドに似ていますが、文字列ではなく正規表現を使って検索する点が異なります。

 
戻り値

整数値

 
パラメータ
 
  • regexpression
      正規表現オブジェクト。正規表現オブジェクトの構文と作成方法については、正規表現オブジェクトを参照してください。
 
slice()NN 4 IE 4 ECMA 3

slice(startPositionIndex, endPositionIndex])

現在の文字列の部分文字列を返します。元の文字列にある指定された開始位置からの部分文字列をコピーします。開始位置は 0 から始まるインデックス値で指定します。2 番目のパラメータを指定しない場合、元の文字列の最後までの部分が返されます。2 番目のパラメータを指定する場合は、部分文字列を終了する位置を 0 から始まるインデックス値により指定します。負の値を指定すると、文字列の最後からの文字数を数えます。

 
戻り値

文字列

 
パラメータ
 
  • startPositionIndex
      現在の文字列オブジェクトからコピーする文字の開始位置を示す 0 から始まるインデックス値を表す整数
  • endPositionIndex
      現在の文字列オブジェクトからコピーする文字の終了位置を示す 0 から始まるインデックス値を表す整数。負の値を指定した場合、文字列の最後からの文字数を数えます。
 
small()NN 2 IE 3 ECMA なし

<small> タグで囲まれている文字列のコピーを返します。

 
戻り値

small 要素内の文字列

 
パラメータ

なし

 
split()NN 3 IE 4 ECMA 1

split(delimiter [, limitInteger])

現在の文字列の部分を要素とする新しい配列オブジェクトを返します。このメソッドでは、現在の文字列が最初のパラメータで指定された区切り文字のある箇所で配列要素に分割されます。新しい配列には区切り文字は含まれません。split() メソッドの結果を代入する場合、事前に配列を宣言する必要はありません。たとえば、文字列にコンマで区切った名前のリストが含まれている場合、そのリストを配列に変換するには、次のようなステートメントを使用します。

 
var listArray = stringList.split(",");
 

パラメータに正規表現を使用して、特定の文字ではなくパターンを使って文字列を分割することもできます。

 
戻り値

配列

 
パラメータ
 
  • delimiter
      元の文字列を配列要素に分割するための区切りとして使用する文字列または正規表現
  • limitInteger
      配列要素に変換する項目の数を指定する整数。このパラメータの指定は任意です。
 
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() メソッドのパラメータはこれと異なり、抽出の開始位置と終了位置を指定します。

 
戻り値

文字列

 
パラメータ
 
  • startPositionIndex
      現在の文字列オブジェクトからコピーする文字の開始位置を示す 0 から始まるインデックス値を表す整数
  • length
      startPositionIndex パラメータで指定された位置から始めて抽出する文字数を指定する整数値。指定は任意です。
 
substring()NN 2 IE 3 ECMA 1

substring(startPositionIndex, endPositionIndex)

現在の文字列から部分文字列を抽出してそのコピーを返します。最初のパラメータで指定された 0 から始まるインデックス位置から開始して、2 番目のパラメータで指定されたインデックス位置の直前までの部分文字列を抽出します。たとえば、"Frobnitz".substring(0,4) は位置 0 ~ 3 の部分文字列である Frob を返します。これに対して substr() メソッドのパラメータでは、抽出の開始位置と文字数を指定します。

 
戻り値

文字列

 
パラメータ
 
  • startPositionIndex
      現在の文字列オブジェクトからコピーする文字の開始位置を示す 0 から始まるインデックス値を表す整数
  • endPositionIndex
      現在の文字列オブジェクトからコピーする文字の終了位置を示す 0 から始まるインデックス値を表す整数startPositionIndex から、endPositionIndex 位置の前の文字までがコピーされます。
 
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

オブジェクトの文字列値を返します。

 
戻り値

文字列値

 
パラメータ

なし