2009年02月16日

【大文字小文字を区別しないで含まれる文字列の判断】search メソッド

indexOf では、大文字小文字を区別して文字列の中の文字列の存在チェック
をしましたが、もっといろんなパターンを容易にチェックするには「正規表現」を使用します。

要は、「ワイルドカード」といわれるものと同じ意味です。
記号を使って、文字列のパターンを定義して、いろいろな文字列にマッチさせるものです。

Windows の ファイルの *.* なんてのがそういうものです。

しかし、今回は「大文字小文字を区別しない」事を目的としているので、
正規表現の本質には触れないで話を進めます。


<SCRIPT type="text/javascript">

var target = "Bbs";

if ( target.search(/bbs/i) == -1 ) {
	alert("含まれません");
}
else {
	alert("含まれます");
}

</SCRIPT>

これは、"Bbs" と言う文字列と "bbs" と言う文字列が同じとして
扱いたい例で、/bbs/i の部分が RegExp というオブジェクトであり、プログラミング
的に「正規表現」と呼ばれる部分であり、オブジェクトです。

Mozilla の RegExp

Microsoft の RegExp

このオブジェクトを、文字列( String オブジェクト ) の search メソッドに渡して
indexOf と同様の結果を得ます。

Mozilla の search

Microsoft の search


ただ、このままでは、探したい文字列が入力値のような場合 / でどうにか
できないので、以下のようにしていったん RegExp を作成してから使用します。

<SCRIPT type="text/javascript">

var target = "Bbs";
var data = new RegExp("bbs", "i");

if ( target.search(data) == -1 ) {
	alert("含まれません");
}
else {
	alert("含まれます");
}

</SCRIPT>

このようにしなくても、対象文字列をいったん全て大文字か
小文字に変換する手法もありますが、こちらは他にも使い道
があるので覚えておく必要があります。

重要ですね。



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



Admin