teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

3

クエリ文字列に /?# を含んでも期待通りに動作するように

2015/08/25 22:56

投稿

think49
think49

スコア18194

answer CHANGED
@@ -1,7 +1,7 @@
1
1
  下記コードでどうでしょう。
2
2
 
3
3
  ```JavaScript
4
- var url = /^(?:[^/]*\x2f)*([^#?]*)\?/.exec('http://sample.jp/sample/category/2?site_domain=sample');
4
+ var url = /^(?:[^/?#]*\x2f)*([^#?]*)\?/.exec('http://sample.jp/sample/category/2?site_domain=sample&hoge=/?#&foo=/?#');
5
5
  url[1]; // "2"
6
6
  ```
7
7
 

2

location.pathname のコード追加

2015/08/25 22:56

投稿

think49
think49

スコア18194

answer CHANGED
@@ -3,4 +3,15 @@
3
3
  ```JavaScript
4
4
  var url = /^(?:[^/]*\x2f)*([^#?]*)\?/.exec('http://sample.jp/sample/category/2?site_domain=sample');
5
5
  url[1]; // "2"
6
+ ```
7
+
8
+ ---
9
+
10
+ 書いてから気が付きましたが、`location.pathname` を使った方がスマートに書けますね。
11
+
12
+ ```JavaScript
13
+ var pathname = location.pathname,
14
+ filename = pathname.slice(pathname.lastIndexOf('/') + 1);
15
+
16
+ console.log(filename);
6
17
  ```

1

URLハッシュの例外処理追加

2015/08/25 11:50

投稿

think49
think49

スコア18194

answer CHANGED
@@ -1,6 +1,6 @@
1
1
  下記コードでどうでしょう。
2
2
 
3
3
  ```JavaScript
4
- var url = /^(?:[^/]*\x2f)*([^?]*)\?/.exec('http://sample.jp/sample/category/2?site_domain=sample');
4
+ var url = /^(?:[^/]*\x2f)*([^#?]*)\?/.exec('http://sample.jp/sample/category/2?site_domain=sample');
5
5
  url[1]; // "2"
6
6
  ```