回答編集履歴
3
クエリ文字列に /?# を含んでも期待通りに動作するように
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 のコード追加
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ハッシュの例外処理追加
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
|
```
|