A | B | C | D | E | F | G | H | I | J | L | M | N | O | P | R | S | T | U | W |

Index: R

Radio() Radio.checked Radio.defaultChecked
Radio.onclick Radio.value RegExp
RegExp.$n RegExp.compile() RegExp.exec()
RegExp.global RegExp.ignoreCase RegExp.input
RegExp.lastIndex RegExp.lastMatch RegExp.lastParen
RegExp.leftContext RegExp.multiline RegExp.rightContext
RegExp.source RegExp.test() Reset
Reset.onclick Reset.value



Radio要素 ・・・ グラフィックなラジオボタン

対応バージョン

クライアントサイドJavaScript 1.0、JavaScript 1.1で機能拡張

継承元

Input、HTMLElement

コーディング形式

Radioボタン要素は、同じ名前を持つ相互に排他的なオプションの集まりです。グループ中の個々のRadio要素を参照するための構文を以下に示します。

form.radio_name[j]
form.radio_name.length


プロパティ

Radioボタン要素は、InputとHTMLElementのプロパティを継承し、以下のプロパティを定義または上書きしています。

checkedボタンがチェックされたかどうかを示す読み書きの可能な論理値。
defaultCheckedRadioボタンの初期状態を示す読み出し専用の論理値。HTMLのCHECKED属性で設定可能。
value読み書き可能な文字列。HTMLのVALUE属性で初期設定する。フォーム送信時にRadioボタンが返す値。

メソッド

Radioボタン要素は、InputとHTMLElementからメソッドを継承します。

イベントハンドラ

Radioボタン要素は、InputとHTMLElementからイベントハンドラを継承し、以下のイベントハンドラを定義または上書きしています。

onclick	ラジオボタンがクリックされると呼び出される。

HTML構文

Radio要素は標準HTMLの<INPUT>タグで生成します。新たにonClick属性を追加します。同じNAME属性を持つ<INPUT>タグをいくつか指定することでグループにまとめます。次の例を見てください。


<FORM>
    ...
  <INPUT
    TYPE="radio"		ラジオボタンを指定する。
    [ NAME="name" ]		あるボタンまたはボタングループの名前。
			nameプロパティに対応。
    [ VALUE="value" ]	ボタン選択時に返す値。valueプロパティに対応する。
    [ CHECKED ]		ボタンの初期状態。defaultCheckedプロパティに対応する。
    [ onClick="handler" ]	ボタンのクリック時に実行するJavaScript文。
  >
label			ボタンの隣りに表示するHTMLテキスト。
    ...
</FORM>

解説

Radio要素は、HTML形式のラジオボタンに対応します。ラジオボタンは、ボタンの一種で相互に排他的選択を行います。あるボタンを選択すると、それ以前に選択されていたボタンは解除されます。onClickイベントハンドラを利用すると、ボタンがチェックされたり解除されたときに実行するJavaScriptコードを指定できます。
checkedプロパティを調べることでボタンの状態を知ることができます。このプロパティを設定することで、ボタンの選択や解除も可能です。checkedプロパティを設定すると、ボタンの選択が変わりますが、onClickイベントハンドラは呼び出されません。checkedプロパティの初期値とdefaultCheckedプロパティの値は、CHECKED属性で決まります。この属性を持てるのは、Radio要素の1つのグループの中で1つしかありません。そのRadio要素のcheckedプロパティとdefaultCheckedプロパティはtrueになり、そのほかのRadio要素のプロパティはfalseになります。グループ内にCHECKED属性を持つ要素がなかった場合は、グループの先頭の要素がデフォルトとしてチェック済み(defaultChecked)になります。
Radioボタンの隣りに表示されるテキストは、Radio要素ではないので、RadioのHTML<INPUT>とは別に指定しなければなりません。
ボタンに対してNAME属性を指定することをお勧めします。Webサーバで実行するCGIスクリプトにデータを送信するフォームの一部にRadioボタンがある場合は、NAME属性は必須です。NAME属性を指定すると、nameプロパティも設定されます。こうしておくと、JavaScriptコードから名前でボタンを参照できるようになります(名前を使用しない場合は、フォームのelements配列のメンバとし参照しなければなりません)。名前を使用すると、コードのモジュール性や移植性も向上します。
Radio要素は、相互に排他的なグループで使用します。グループ内の個々のメンバは同じNAME属性を共有します(この名前がグループに共通の名前になります)。例えば、フォームfの中でRadio要素に共通のグループ名が"opts"であれば、f.optsはRadio要素の配列になります。f.opts.lengthは配列要素の個数を示します。
VALUE属性あるいはRadio要素のvalueプロパティに文字列を指定することで、フォームの送信時に、どのRadio要素がチェックされたかどうかをサーバに知らせることができます。グループに属する個々のRadio要素を一意に識別できる値を付けることで、フォームの送信時にどのRadio要素がチェックされているかをサーバが判定できるようにします。

使用上のヒントと注意

Radio要素を利用すると、相互に排他的な複数のオプションを含むリストをユーザに示すことができます。オプションが1個だけの場合やリストに含まれる複数のオプションが相互に排他的でない場合は、Checkbox要素を使用します。

バグ情報

先ほど触れましたが、Radio要素のグループは同じNAME属性を共有し、JavaScriptはこれらのRadio要素を同じ名前の配列に割り当てます。しかし、Navigator 2の場合、この割り当てる方法にバグがあることに注意してください。Radio要素がonClick属性で指定されたイベントハンドラを持たない場合、これらの要素は逆順で配列に割り当てられます。常にグループに属する個々のRadioボタンごとにデフォルトとして明示的にonClick属性を指定して、この問題を回避するようにしてください。

関連項目

CheckboxFormInput



Radio.checkedプロパティ ・・・ Radioボタンの状態

対応バージョン

クライアントサイドJavaScript 1.0

コーディング形式

radio.checked

解説

Radioオブジェクトのcheckedプロパティは、読み書きが可能な論理値です。Radioボタンをチェックすると、checkedプロパティはtrueになります。Radioボタンがチェックされていない場合、checkedプロパティはfalseです。
checkedプロパティをtrueに設定すると、対応するRadioボタンが選択され、それ以前に選択されていたボタンは解除されます。しかし、Radioボタンのcheckedプロパティをfalseに設定しても、この操作は無視されます。少なくともどれか1つのボタンが必ず選択されていなければならないので、どれか別のボタンを選択する以外に特定のボタンを解除することはできません。
checkedプロパティを設定しても、RadioボタンのonClickイベントハンドラは実行されません。イベントハンドラを実行したい場合には、明示的に実行しなければなりません。



Radio.defaultCheckedプロパティ ・・・ Radioボタンの初期状態

対応バージョン

クライアントサイドJavaScript 1.0

コーディング形式

radio.defaultChecked

解説

RadioオブジェクトのdefaultCheckedプロパティは、読み出し専用の論理値です。Radioボタンが初期状態で選択されていれば、このプロパティはtrueです。これは、RadioボタンのHTML <INPUT>タグでCHECKED属性が設定されている状態です。このタグが設定されていない場合、Radioボタンは選択されていない状態で、defaultCheckedプロパティの値はfalseです。



Radio.onclick()ハンドラ ・・・ Radioボタンの選択時に呼び出されるハンドラ

対応バージョン

クライアントサイドJavaScript 1.0

コーディング形式

<INPUT TYPE="radio" onClick="handler" ... >
radio.onclick

解説

onclickイベントハンドラは、ユーザがRadioボタンをクリックしたときに呼び出されます。このイベントハンドラは、Radioボタンを定義するHTMLの<INPUT>タグのonClick属性で定義します。この属性には、任意の個数のJavaScript文を指定できます。複数の文はセミコロンで区切ります。ユーザがボタンをクリック(チェックまたは解除)すると、これらのJavaScript文が実行されます。

関連項目

HTMLElement.onclick、15章



Radio.valueプロパティ ・・・ フォーム送信時に返す値

対応バージョン

クライアントサイドJavaScript 1.0

コーディング形式

radio.value

解説

Radioオブジェクトのvalueプロパティは読み書き可能な文字列です。フォーム送信時にWebサーバに渡すテキスト文字列のことです。valueの初期値は、RadioのHTML<INPUT>タグのVALUE属性で指定します。フォームをクライアントサイドJavaScriptで使用するのではなく、サーバへ送る場合はグループに属する個々のRadioボタンを一意に識別できる値を指定しなければなりません。
valueフィールドはRadioボタンが現在選択されているかどうかを示すものではありません。Radioオブジェクトの現在状態を示すのは、checkedプロパティです。



RegExpオブジェクト ・・・ 正規表現用のオブジェクト 

対応バージョン

コアJavaScript 1.2

構文

/pattern/attributes

コンストラクタ

new RegExp(pattern, attributes)

引数

pattern正規表現のパターン。
attributesグローバルな「g」属性と大文字、小文字を認識しない「i」属性のいずれかまたは両方を持つ省略可能な文字列です。

インスタンスプロパティ

global
RegExpにg属性があるかどうかを示す。
ignoreCase
RegExpに「i」属性があるかどうかを示す。
lastIndex
最後にマッチした文字の位置。1つの文字列で複数のマッチを探すために使用される。
source
正規表現のソーステキスト。

静的プロパティ

RegExp.$n
n番目にマッチしたテキスト。
RegExp.inputまたはRegExp.$_
ほかにテキストが提供されていない場合にマッチングの対象となるテキスト。
RegExp.lastMatchまたはRegExp["$&"]
成功したマッチングのテキスト
RegExp.lastParenまたはRegExp["$+"]
最後のサブ表現にマッチしたテキスト。
RegExp.leftContextまたはRegExp["$`"]
マッチしたテキストの左隣のテキスト。
RegExp.multilineまたはRegExp["$*"]
パターンマッチングがマルチラインモードで行われたかどうかを示す。
RegExp.rightContext or RegExp["$'"]
マッチしたテキストの右隣のテキスト。

メソッド

compile()
RegExpオブジェクトの新しいパターンと属性を定義します。
exec()
汎用目的の強力なパターンマッチング。
test()
文字列にパターンが含まれているかどうかを調べます。

解説

RegExpオブジェクトは、文字列のパターンマッチングを行う強力なツールである正規表現のオブジェクトです。 正規表現の構文とその使用法についての詳細は、「10章」の正規表現によるパターンマッチングの解説を参照してください。

関連項目

10章



RegExp.$n・・・サブ表現にマッチしたテキスト

対応バージョン

コアJavaScript 1.2

コーディング形式

RegExp.$1         最初のサブ表現にマッチしたテキスト。
RegExp.$2         2番目のサブ表現にマッチしたテキスト。
...
RegExp.$9         9番目のサブ表現にマッチしたテキスト
RegExp["$+"]      RegExp.lastParenを参照。
RegExp["$&"]      RegExp.lastMatchを参照。
RegExp["$`"]     RegExp.leftContextを参照。
RegExp["$'"]     RegExp.rightContextを参照。
RegExp["$*"]      RegExp.multilineを参照。
RegExp.$_         RegExp.inputを参照。

解説

RegExp.$1からRegExp.$9までは、RegExp()コンストラクタの静的プロパティです。これらの読み出し専用のプロパティは、最後に成功したマッチングで1番目から9番目にマッチした括弧に囲まれたサブ表現を持っています。このマッチングは、RegExpまたはStringパターンマッチングメソッドで試みられたものです。正規表現の括弧付きのサブ表現が9個以下の場合は、すべてのプロパティが使用されないことがあります。もし正規表現に9個以上の括弧付きサブ表現がある場合には、9番目よりあとの値は保存されません。
サブ表現にマッチするテキストはString.match()メソッドとRegExp.exec()メソッドが返す配列の一部でもあります。したがって、通常はこれらのプロパティを直接使用する必要はありません。
先頭が$で始まるそのほかの静的なRegExpプロパティは、それぞれ関連のプロパティの意味と同義です。これらのプロパティについては、各解説を参照してください。



RegExp.compile()メソッド・・・正規表現を変更します

対応バージョン

コアJavaScript 1.2

コーディング形式

regexp.compile(newpattern, attributes)

引数

newpatternregexpで使用される新しいパターンを表す文字列。
attributes正規表現の新しい属性を指定する文字列(省略可)。指定する場合は、「g」、「i」、「gi」のいずれにかになります。この属性が省略すると、正規表現regexpは「g」あるいは「i」属性を持ちません。

リターン値

正規表現regexpへの参照。

解説

compile()メソッドは、RegExpオブジェクトのマッチングのパターンとマッチングを行うための属性を変更します。RexExpオブジェクトをパターンごとに作成する代わりに、compile()メソッドによって既存のオブジェクトのパターンを変更することができます。これを利用すれば、新しいオブジェクトを作成するよりも若干効率的です。



RegExp.exec()メソッド・・・汎用のパターンマッチング

対応バージョン

コアJavaScript 1.2(IE 4ではバグがあります)

コーディング形式

regexp.exec(string)
regexp(string)

引数

string
検索対象の文字列。これを指定しないと、代わりにRegExp.inputが検索されます。

リターン値

パターンマッチングの結果を含む文字列。マッチしない場合はnullが返されます。

解説

exec()メソッドは、RegExpオブジェクトやStringオブジェクトのパターンマッチングメソッドの中でももっとも強力なメソッドです。これは、RegExp.test()String.search()String.replace()String.match()などのメソッドよりもやや複雑な汎用メソッドです。RegExpオブジェクトそのものは関数として呼び出せます。呼び出し方は、RegExpオブジェクトのexec()メソッドの呼び出しと同じです。
exec()メソッドは、regexpにマッチするテキストの文字列を検索します。文字列を指定しないと、RegExp.inputの中を検索します。マッチングがあれば、その結果の文字列を返します。この配列の要素0はマッチしたテキストを示します。要素1は最初にマッチしたregexp内の括弧付きのサブ表現を示します。要素2は、2番目にマッチしたサブ表現のテキストを持つ、といった具合に続きます。配列のlengthプロパティは、通常とおり配列内の要素の数を表します。配列要素とlengthプロパティに加えて、exec()メソッドが返す値にはほかの2つのプロパティが含まれます。その1つはindexプロパティで、これはマッチしたテキストの先頭文字の位置を表します。もう1つはinputプロパティで、これは文字列を参照します。返されるこの配列は、非グローバルなRegExpオブジェクトでString.match()メソッドが呼び出されたときに返される配列と同じです。
exec()メソッドが非グローバルなパターンで呼び出されると、これは検索を実行して上述した結果を返します。ところが、regexpがグローバルな正規表現の場合は、exec()メソッドは少し複雑な振る舞いをします。この場合、exec()メソッドはregexpオブジェクトのlastIndexプロパティで表された文字位置から文字列の検索を開始します。これはつまり、その文字列でマッチングを検索するために、exec()メソッドを繰り返し使用できることを意味します。これ以上マッチが見つからないと、exec()メソッドはnullを返し、lastIndexを0にリセットします。マッチングを見つけたあとすぐに新しい文字列の検索を開始する場合は、手動でlastIndexをリセットしなければなりません。
exec()メソッドは、regexpがグローバルであろうとなかろうと、常にそれが返す配列にすべてのマッチングについてそれぞれ詳細を含めます。exec()メソッドが、グローバルなパターンで使われる際により少ない情報しか返さないString.match()メソッドと違うのはこの点です。実際、グローバルなパターンで完全なパターンマッチングの情報を取得するには、exec()メソッドをループで繰り返し呼び出すしかありません。
すべてのRegExpオブジェクトとStringオブジェクトのパターンマッチングメソッドと同じく、exec()メソッドはマッチングを見つけるとleftContextrightContext$1、そのほかの静的なRegExpオブジェクトのプロパティを設定します。しかし、exec()メソッドが返す配列には同等の情報が含まれるので、exec()メソッドを扱う際にこれらの静的プロパティを使用する必要は決してありません。

使用例

以下のように、exec()メソッドをループで使用して文字列内のすべてのマッチングを見つけることができます。

var pattern = /\bJava\w*\b/g;
var text = "JavaScript is more fun than Java or JavaBeans!";
var result;
while((result = pattern.exec(text)) != null) {
    alert("Matched `" + result[0] + "' at position " + result.index);
}

バグ情報

IE 4では、exec()メソッドはlastIndexプロパティを正しく設定あるいは使用しないので、上記の例のようなループのグローバルパターンでは使用できません。また、IE 4では文字列引数を省略することはできません。exec()メソッドは、IEではRegExp.inputを利用しないからです。さらに、IE 4ではRegExpオブジェクトを関数として直接呼び出すことはできません。

関連項目

RegExp.lastIndexRegExp.test()String.match()String.replace()String.search()、10章



RegExp.globalプロパティ・・・正規表現のグローバルなマッチング

対応バージョン

コアJavaScript 1.2、IE 4には未実装

コーディング形式

regexp.global

解説

globalプロパティは、RegExpオブジェクトの読み出し専用の論理値のインスタンスプロパティです。ある正規表現がグローバルかどうか(それがg属性で作成されたかどうか)を表します。



RegExp.ignoreCaseプロパティ・・・正規表現が大文字と小文字を区別するかどうか

対応バージョン

コアJavaScript 1.2、IE 4には未実装

コーディング形式

regexp.ignoreCase

解説

ignoreCaseプロパティは、RegExpオブジェクトの読み出し専用の論理値のインスタンスプロパティです。ある正規表現が大文字と小文字を区別しないかどうか(それがi属性で作成されたかどうか)を表します。



RegExp.inputプロパティ・・・パターンマッチング用の入力

対応バージョン

コアJavaScript 1.2(クライアントサイドでは特殊な振る舞いをする)、IE4では機能しない

コーディング形式

RegExp.input
RegExp.$_

解説

静的プロパティであるRegExp.inputは、RegExp.exec()RegExp.test()に何も文字列が渡されない場合にパターンマッチングに使用されるテキストを指定します。RegExp.inputプロパティは、読み書き可能なプロパティなので、いつでもこれを設定できます。
RegExp.$RegExp.inputと同義です。RegExp.$はPerlプログラマにとっては便利な省略型でしょうが、その使用は推奨されていません。
クライアントサイドのJavaScriptでは、RegExp.inputプロパティは特定のイベントハンドラが呼び出されると自動的に設定され、これらのイベントハンドラが返されると空の文字列を自動的にリセットします。これは、イベントハンドラで正規表現のパターンマッチングで入力の承認やそのほかの作業を実行する際に便利です。Navigator 4では、TextオブジェクトとTextAreaオブジェクトのイベントハンドラは、RegExp.inputプロパティをユーザ入力の現在の値に設定します(ただし、PasswordオブジェクトまたはFileUploadオブジェクトのイベントハンドラはこれを行いません)。Selectオブジェクトのイベントハンドラは、RegExp.inputプロパティを選択されたオプションのテキストに設定します。
Linkオブジェクトのonclick()ハンドラは、RegExp.inputをハイパーリンクのテキストに設定します。興味深いことに、onmouseover()ハンドラとonmouseout()ハンドラはRegExp.inputをLinkが参照するURLのテキストに設定します。

バグ情報

IE 4にもRegExp.inputプロパティはありますが、Navigator 4での振る舞いとはまったく異なります。IE 4では、さまざまなRegExpやStringのパターンマッチングメソッドがRegExp.inputを検索されたすべての文字列に設定しますが、RegExp.test()RegExp.exec()メソッドは決してこのプロパティの値を使用しません。IE 4では、これらのいずれかのメソッドを引数なしで呼び出すのはエラーになります。IE 4では、クライアントサイドのイベントハンドラはRegExp.inputプロパティを設定しません。同義のRegExp.$_はIE 4ではサポートされていません。

関連項目

RegExp.exec()RegExp.multilineRegExp.test()



RegExp.lastIndexプロパティ・・・最後のマッチング直後の文字位置

対応バージョン

コアJavaScript 1.2、IE 4では未実装

コーディング形式

regexp.lastIndex

解説

lastIndexはRegExpオブジェクトの読み書き可能なインスタンスプロパティです。グローバルな正規表現では、これはRegExp.exec()メソッドとRegExp.test()メソッドが見つけた最後のマッチングのすぐあとの文字位置を表す整数を持っています。これらのメソッドは、このプロパティを次の検索の開始位置にします。こうすることによって、これらのメソッドを文字列の中のマッチングをすべて見つけるために繰り返し使用できます。g属性を持たずグローバルパターンではないRegExpオブジェクトは、lastIndexプロパティを使用しません。
このプロパティは読み書きが可能なので、いつでも設定できます。exec()メソッドやtest()メソッドは、マッチング(または別のマッチング)が見つからなければ、自動的にlastIndexを0に設定します。ほかの文字列のマッチングに成功したあとで、新しい文字列の検索を開始する場合は、このプロパティを明示的に0に設定しなければなりません。

バグ情報

このプロパティはIE 4には実装されていません。これはつまり、IE 4ではRegExp.exec()メソッドをグローバルな正規表現で使って文字列内のすべてのマッチングを自動的に見つけることが不可能だということです。IE 4では、RegExp.exec()メソッドが返す配列にはマッチしたテキスト以降の最初の位置を表すlastIndexプロパティがあります。必要であれば、String.substring()などのメソッドといっしょにこのプロパティを使って、文字列を分割してそれらを個別に検索することが可能です。

関連項目

RegExp.exec()RegExp.test()



RegExp.lastMatchプロパティ・・・最後に成功したパターンマッチングのテキスト

対応バージョン

コアJavaScript 1.2、IE 4には未実装

コーディング形式

RegExp.lastMatch
RegExp["$&"]

解説

RegExp.lastMatchは、RegExp()コンストラクタの読み出し専用の静的プロパティです。RegExpまたはStringのパターンマッチングメソッドで実行された最後の成功したマッチングのテキストを表します。
RegExp["$&"]は、RegExp.lastMatchの別名で、Perlプログラマにとっては便利な省略語である場合もありますが、その使用は推奨されていません。
RegExp.lastMatchの値は、String.match()RegExp.exec()メソッドが返す値から簡単に取得できます。したがって、このプロパティは、それほど頻繁に必要とされません。Reg.Exp.lastMatchRegExp["$&"]のいずれもIE 4には実装されていないので、これは好都合です。



RegExp.lastParenプロパティ・・・マッチした最後のサブ表現のテキスト

対応バージョン

コアJavaScript 1.2、IE 4には未実装

コーディング形式

RegExp.lastParen
RegExp["$+"]

解説

RegExp.lastParenRegExp()コンストラクタの読み出し専用の静的プロパティです。このプロパティは、RegExpまたはStringのパターンマッチングメソッドが実行した最後に成功したマッチングでの最後の括弧付きサブ表現にマッチしたテキストを表します。
RegExp["$+"]は、RegExp.lastParenの別名で、Perlプログラマにとっては便利な省略語である場合もありますが、その使用は推奨されていません。
RegExp.lastParenの値は、String.match()RegExp.exec()メソッドが返す値から簡単に取得できます。したがって、このプロパティは、それほど頻繁に必要とされません。RegExp.lastParenRegExp["$+"]のいずれもIE 4には実装されていないので、これは好都合です。



RegExp.leftContextプロパティ・・・最後のマッチングの前のテキスト

対応バージョン

コアJavaScript 1.2、IE 4には未実装

コーディング形式

RegExp.leftContext
RegExp["$`"]

解説

RegExp.leftContextRegExp()コンストラクタの読み出し専用の静的プロパティです。このプロパティは、RegExpまたはStringのパターンマッチングメソッドが実行した最後のマッチングでマッチしたサブストリングの前のテキストを表します。
RegExp["$`"]は、RegExp.lastContextの別名で、Perlプログラマにとっては便利な省略語である場合もありますが、その使用は推奨されていません。
RegExp.leftContextの値は、String.match()RegExp.exec()メソッドが返す値から簡単に取得できます。したがって、このプロパティは、それほど頻繁に必要とされません。RegExp.leftContextRegExp["$`"]のいずれもIE 4には実装されていないので、これは好都合です。



RegExp.multilineプロパティ・・・マルチラインラインモードでマッチングが行われているかどうかを示す

対応バージョン

コアJavaScript 1.2(クライアントサイドでは特別な振る舞いをする)、IE 4には未実装

コーディング形式

RegExp.multiline
RegExp["$*"]

解説

RegExp.multilineRegExp()コンストラクタの読み出し専用の静的プロパティです。このプロパティは、パターンマッチングがマルチラインモードで行われているかどうかを示します。このプロパティがtrueの場合は、^$のパターンは、文字列の先頭と終端だけではなく、その文字列の行の先頭と終端もマッチングを行います。RegExp.multilineは読み書き可能なプロパティなので、いつでも設定できます。
RegExp["$*"]は、RegExp.multilineと同義です。Perlプログラマにとっては便利な省略語である場合もありますが、その使用は推奨されていません。
Navigator 4では、RegExp.multilineはTextAreaまたはLinkオブジェクトのイベントハンドラのいずれかが呼び出される直前に自動的にtrueに設定され、これらのハンドラが帰った直後にfalseに設定されます。また、このプロパティはTextオブジェクトやSelectオブジェクトのイベントハンドラのいずれかが呼び出される直前にfalseに設定されます。これは入力の承認に正規表現を使うイベントハンドラを使用する場合は便利でしょうが、これはつまり、RegExp.multilineプロパティをtrueに設定すればでその値が保持され続けると期待できないことを意味します。したがって、マルチラインモードでマッチングを行うたびに、明示的にこのプロパティをtrueに設定する必要があるでしょう。

バグ情報

RegExp.multilineRegExp["$*"]のいずれもIE 4には実装されていません。IE 4では、マルチラインモードのパターンマッチングはサポートされていません。

関連項目

RegExp.input()



RegExp.rightContextプロパティ・・・最後のマッチングのあとのテキスト

対応バージョン

コアJavaScript 1.2、IE 4では未実装

コーディング形式

RegExp.rightContext
RegExp["$'"]

解説

RegExp.rightContextRegExp()コンストラクタの読み出し専用の静的プロパティです。このプロパティは、RegExpまたはStringのパターンマッチングメソッドが実行した最後に成功したマッチングでマッチしたサブストリングのあとのテキストを表します。
RegExp["$'"]は、RegExp.rightContextと同義で、Perlプログラマにとっては便利な省略語である場合もありますが、その使用は推奨されていません。
RegExp.rightContextの値は、String.match()RegExp.exec()メソッドが返す値から簡単に取得できます。したがって、このプロパティは、それほど頻繁に必要とされません。RegExp.rightContextRegExp["$'"]のいずれもIE 4には実装されていないので、これは好都合です。



RegExp.sourceプロパティ・・・正規表現のテキスト

対応バージョン

コアJavaScript 1.2

コーディング形式

regexp.source

解説

sourceはRegExpオブジェクトの読み出し専用の文字列インスタンスプロパティです。このプロパティは、正規表現のパターンのテキストを保持します。このテキストは、正規表現で使用される区切り文字のスラッシュ()は含まれません。また、g属性とi属性も含まれません。



RegExp.test()メソッド・・・文字列にマッチするものがあるかどうかを調べる

対応バージョン

コアJavaScript 1.2

コーディング形式

regexp.test(string)

引数

string
調べる対象の文字列。これを省略すると、RegExp.inputが代わりに調べられます。

リターン値

regexpにマッチするテキストが文字列にあればtrueを返し、そうでなけれfalseを返す。

解説

test()メソッドは、regexpにマッチするテキストが文字列の中にあるかどうかを調べます。もしあればtrueを返し、なければfalseを返します。文字列が省略された場合は、RegExp.inputに保管されたテキストを調べます。
test()メソッドは、マッチングを見つけるとRegExp.leftContextRegExp.rightContextRegExp.$1そのほかのRegExpクラスの静的プロパティを設定して、そのマッチングについてより多くの情報を提供します。
regexpがグローバルなパターンの場合(つまりg属性を使った正規表現の場合)、test()メソッドはregexplastIndexプロパティで指定された文字位置から文字列の検索を開始します。test()メソッドがグローバルなパターンのマッチングを見つけると、マッチングが見つかった直後にlastIndexを設定します。これはつまり、グローバルな正規表現の場合、同じ文字列上でtest()メソッドを繰り返し使用してすべてのマッチングを探すことができるということです。実際には、グローバルなパターンでtest()メソッドの使用はまれです。パターンのすべてのマッチングを望むなら、通常RegExp.exec()を使ってそれぞれのマッチングについてのより多くの情報を取得するはずです。

使用例


var pattern = /java/i;
pattern.test("JavaScript");   // trueを返す
pattern.test("ECMAScript");   // falseを返す

バグ情報

IE 4では、test()メソッドは正しくlastIndexを設定、使用しないので、グローバルなパターンで文字列を繰り返し調べて複数のマッチングを得ることはできません。また、IE 4では、文字列引数を省略できません。IE 4では、test()メソッドはRegExp.inputプロパティを利用できません。

関連項目

RegExp.exec()RegExp.lastIndexString.match()String.replace()String.substring()、10章



Reset要素 ・・・ フォームの値をリセットするボタン

対応バージョン

クライアントサイドJavaScript 1.0、JavaScript 1.1で機能拡張

継承元

Input, HTMLElement

コーディング形式

form.name
form
.elements[i]

プロパティ

Reset要素は、InputとHTMLElementのプロパティを継承するとともに、以下のプロパティを定義または上書きしています。

valueHTMLのVALUE属性で設定する読み出し専用の文字列。ボタンに表示するテキスト文字列のことです。NavigatorでVALUE属性を設定しなかった場合、ボタンのラベルはデフォルトで「Reset」になります。

メソッド

Reset要素は、InputとHTMLElementのメソッドを継承します。

イベントハンドラ

Reset要素は、InputとHTMLElementのイベントハンドラを継承し、以下のイベントのハンドラを定義または上書きしています。

onclick()Resetボタンがクリックされたときに呼び出されます。

HTML構文

Reset要素は、標準HTMLの<INPUT>タグで生成します。


<FORM>
    ...
  <INPUT
    TYPE="reset"		リセットボタンを指定する。
    [ VALUE="label" ]		ボタンに表示するテキスト。
				valueのプロパティを指定する。
    [ NAME="name" ]		ボタンの参照名。
				nameプロパティを指定する。
    [ onClick="handler" ]	ボタンがクリックされると実行されるJavaScript文。
  >
    ...
</FORM>

解説

Reset要素は、Button要素と同じプロパティとメソッドを持ちますが、特定用途で使われます。Resetボタンをクリックすると、このReset要素を保持するフォームに属するすべての入力要素の値はデフォルト値に戻されます(ほとんどの場合、HTMLのVALUE属性で指定された値になります)。初期値が指定されていなかった場合にResetボタンをクリックするとユーザが入力した値はすべて「クリア」されます。

使用上のヒントと注意

Reset要素にVALUE属性が指定されていない場合、その要素のラベルはResetになります。フォームの内容にもよりますが、ボタンのラベルをClear FormやDefaultsとすることをお勧めします。
JavaScript1.1の場合、Resetボタンの操作をFormオブジェクトのreset()メソッドでシミュレーションすることができます。JavaScript1.1の場合、フォームがリセットされる前にFormオブジェクトのonreset()ハンドラが呼び出されます。このイベントハンドラがfalseを返すと、リセット操作は取り消されます。

関連項目

ButtonHTMLElementInputForm



Reset.onclick()ハンドラ ・・・ Resetボタンのクリック時に呼び出される

対応バージョン

クライアントサイドJavaScript 1.0、JavaScript 1.1で機能拡張

コーディング形式

<INPUT TYPE="reset" onClick="handler" ... >
reset.onclick

解説

ResetオブジェクトのReset.onclick()プロパティは、ユーザがResetボタンをクリックすると呼び出されるイベントハンドラを参照します。詳細は、HTMLElement.onclickを参照してください。ただし、HTMLElement.onclickと違って、Reset.onclickはJavaScript1.0からサポートされています。
Resetボタンには、すべてのフォーム要素をそれぞれ自分のデフォルト値にリセットするという特別な機能があります。Reset.onclick()イベントハンドラでResetボタンに機能を追加することもできます。JavaScript1.1では、onclick()イベントハンドラでfalseを返すことによってResetオブジェクトがフォームをリセットする行為を中止させることができます(例えばconfirm()を使ってユーザがリセットを確認させるようにし、確認されなければfalseを返すようにできます)。

関連項目

Form.onresetForm.reset()HTMLElementHTMLElement.onclickInput



Reset.valueプロパティ ・・・ Resetボタンのラベル

対応バージョン

クライアントサイドJavaScript 1.0

コーディング形式

reset.value

解説

valueプロパティは読み出し専用の文字列です。Resetボタンのラベルに表示するテキスト文字列のことです。ボタンを生成した<INPUT>タグにVALUE属性で指定します。VALUE属性を指定しなかった場合のデフォルトは"Reset"です。



トップページに戻る