2009年02月16日

【文字列内に含まれる文字列の判断】indexOf メソッド

URL や リンクのテキストを取得しても、その文字列をどうするかを考える前に、
その文字列が「何か」「どうなっているのか」を判断する必要があります。

ですから最初に必要になるのが、「こういう文字列が含まれてるかな?」という
疑問に答える「文字列検索」のメソッドが必要になります。

var strSearch = window.location+"";
if ( strSearch.indexOf( "BBS" ) == -1 ) {
	  if (window.attachEvent){
	  	  window.attachEvent('onload', setcat);
	  }
	  else {
	  	  window.addEventListener('load', setcat, false);
	  }
}



上の例は、ブラウザに表示されている URL を、window.location でまず取得しています。
window は省略できます。window というカテゴリの中の location という文書だと思えば良いです。
location の中にはまだデータが分類整理されているので、+"" として、文字列としてデフォルトの
データを確実に取得するようにしています。( 文字列を足すと文字列として返ってきます )

ですから、strSearch は、文字列として保証された「文字列オブジェクト」になるわけで、
文字列オブジェクトになれば、メソッドが使えます。

indexOf というメソッドで、"BBS" という文字列を探し、-1 だと見つからなかったという事です。
( みつかったら位置が返ります )

で、掲示板ページ以外で行う処理をしているわけです。


Mozilla の indexOf の説明

Microsoft の indexOf の説明


indexOf は、大文字小文字を区別する事に注意して下さい。
区別しないように検索するには、正規表現を使用する必要があります。


posted by night wálker at 12:10| JavaScript
JavaScript ベーシック
SyntaxHighlighter
クロスブラウジング
その他
Highslide JS
思いの他綺麗に撮れた花
ブログを彩るには、JavaScript が必ず必要です。
特に、Google の存在は大きく、Google MAP をはじめとする
いろいろな先進の技術を簡単に利用できます。
結構知られていないものもあり、少し JavaScript を勉強すれば使えるようになって
自分のブログにいろいろな花を添える事ができるようになると思います。
※ この花は Highslide JS と言って Google とは関係ありません。



Admin