Home > JavaScripts/Ajax > JavaScript勉強中#1

JavaScript勉強中#1

トラックバックURL:

今日のトリビア

JavaScriptの正規表現は・・・

「(?<=」後読み(戻り読み)や「(?<!」否定後読み(否定戻り読み)が使用できない。

1時間悩んだ自分への戒めを込めて。shimazakiでした。

これだけだとさすがに中身がないので、もう少し。

そもそも後読みを使いたかった(正確には本当に使いたかったのは否定後読みですが)理由として、pathinfo形式の現在のURLをスラッシュ区切りで変数に格納したい、という目的のためです。

例えば、
http://example.com/index.php/moduleName/ControllerName/ActionName
であった場合に

JAVASCRIPT:
var pattern = new RegExp( '(?<!/)/(?!/)' );
var urls = location.href.split( pattern );
//urls[0] : http://example.com
//urls[1] : index.php
//urls[2] : moduleName
//urls[3] : ControllerName
//urls[4] : ActionName

というような具合に。
ですが、先述の通り、否定後読みは使用できないので、

JAVASCRIPT:
var urls = location.href.split( '/' );
//urls[0] : http:
//urls[1] :
//urls[2] : example.com
//urls[3] : index.php
//urls[4] : moduleName
//urls[5] : ControllerName
//urls[6] : ActionName

とすることで対応することにしました。

補足になりますが、
実際にはgetパラメータも切り分けるために、

JAVASCRIPT:
var urls = location.href.split( '[/?]' );

としました。

今日のエントリがまだ見ぬ未来のJavaScripter入門者の助けになれば幸いです。

この記事へのコメント: 0件

コメントをどうぞ
上記情報を記憶する(次回から入力の手間が省けます)

トラックバック+ピンバック: 0件

Home > JavaScripts/Ajax > JavaScript勉強中#1

ページ
メタ情報

Page Top