テキストフィールド内の検索を行う


動作ブラウザ 【 IE:4.0  NN:3.0
Internet Explorer Netscape Navigator DreamPassport iCab
3.0x 4.0x 4.5 5.0x 5.5 2.0x 3.0x 4.0x 4.x 6.0 2 3 2.x
Windows × - × - -
Macintosh × - × - -
UNIX - - - - - × - - -
Dreamcast - - - - - - - - - - -

ポイント fOBJ = document.myFORM; pat = fOBJ.dst.value + ""; pat = new RegExp(pat,"g"); src = fOBJ.src.value; txt = src.match(pat);
説  明 正規表現を使って検索するにはmatch()を使います。あらかじめ検索する文字宇列がわかっている場合は「pat = /正規表現文字列/」のようにするか「pat = new RegExp("正規表現文字列")」のように記述します。
サンプル <html> <head> <title>テキストフィールド内の検索を行う</title> <script language="JavaScript"><!-- function srh() { fOBJ = document.myFORM; pat = fOBJ.dst.value + ""; pat = new RegExp(pat,"g"); src = fOBJ.src.value; txt = src.match(pat); fOBJ.result.value = ""; for (i=0; i<txt.length; i++) fOBJ.result.value = fOBJ.result.value + txt[i] + "\n"; } // --></script> </head> <body> <form name="myFORM"> 正規表現文字:<input type="text" size="16" name="dst"><br>      <input type="button" value="検索" onClick="srh()"><br> 検索される文字:<br> <textarea cols="40" rows="5" name="src"> Apple - Mac IBM - Aptiva </textarea><br> 検索結果:<br> <textarea cols="40" rows="5" name="result"></textarea> </form> </body> </html>
補足説明 なし

■サンプルスクリプトを実行する >>実行
■各ブラウザでの動作結果を見る >>View!

写真素材 PIXTA