JavaScriptの正規表現関係2
以前、似たような記事を書いたが、さらに強化版も。
RegExpを使えばかなり柔軟に書く事が出来るので、その方法を四の五の能書きたれず実際のコードで紹介。
次のコードは、リファラからキーワードを取り出す方法。
//リファラ取得。なんでrefererではなく、referrerなんでしょうね。 var referrer = document.referrer; //RegExpで対象文字列を設定。ここは正規表現可。 var nowurl = new RegExp( "q=" ); //q=という文字列が見つかったら。 if( referrer.match( nowurl ) ) { //なんだか非効率ですがいろいろなパターンを表現するため、敢えて記述 var result = referrer.match(/q=([^&]*)/); //$1や$2などで、正規表現中の(~~)の値を取得出来ます。 result = RegExp.$1; //キーワードなので、+(つまり空白)は排除 var keywords = result.split("+"); //キーワード一つ一つに関してループ開始。 for( i=0; i<keywords.length; i++ ) { //日本語の場合もあるのでデコード key = decodeURI( keywords[i] ); //これで、/key/giというようになる。keyの部分は変数な点を留意 var reg = new RegExp( key,"gi"); } }
ディスカッション
コメント一覧
まだ、コメントがありません