字符串如何將最後一個數字解析與jQuery或Javascript
http://something.com:9090/general/35/30/205
http://something.com:9090/general/3/55/27
http://something.com:9090/general/36/30/277
字符串如何將最後一個數字解析與jQuery或Javascript
http://something.com:9090/general/35/30/205
http://something.com:9090/general/3/55/27
http://something.com:9090/general/36/30/277
您需要使用正則表達式在此之前拉出30或55基本數量。作爲一個簡單的例子,在這裏你需要做到以下幾點:
var url = "http://something.com:9090/general/35/30/205";
var category = url.match(/(\d+)\/\d+$/)[1];
爲了解析正則表達式:
/
啓動正則表達式(\d+)
創建要找到一組以後的價值。此組必須包含1個或更多數字字符\/
接下來必須出現正斜槓。反斜槓「轉義」斜槓 - 否則將結束正則表達式\d+
下一個必須1個或多個數字字符$
走到這必須是字符串/
結束正則表達式的結束。的match
函數返回我們選擇項目的數組 - 在這裏,只是(\d+)
。 [1]
表示「獲得第一個匹配」,在上面的字符串中將爲30
。
啊,是的,在T恤正統化妝前的ol't恤 – zincorp 2010-11-03 18:08:21
@zincorp我想我錯過了一些東西。 – lonesomeday 2010-11-03 18:09:11
如果你有問題,並且你決定用正則表達式解決這個問題,你現在有兩個問題 – 2010-11-03 18:26:53
var s = "http://something.com:9090/general/35/30/205";
s.substr(s.lastIndexOf('/') - 2,2);
只要號碼精確到兩位數字,它就會工作。 '/ 3/205'和'/ 300/205'都會給出錯誤的結果。 – lonesomeday 2010-11-03 18:06:30
@lonesomeday是的,你是對的!你的答案應該能夠做到這一點。祝你今天愉快 ! – 2010-11-03 18:08:37
var url = "http://something.com:9090/general/35/30/205";
var splits = url.split('/');
return splits[splits.length - 2];
如果您的網址看起來像這將搞砸了: 「http://something.com:9090/general/35/30/205/」 但你總是剪掉尾隨事先斜槓。
+1不使用正則表達式:-) – micmcg 2010-11-04 01:03:07
var parts = url.split('/');
var i = parts.length, num;
while (--i)
if (!isNaN(parts[i]) && !isNaN(parts[i+1])) {
num = parts[i];
break;
}
沒有正則表達式,而有點像邁克Ruhlin的解決方案,但你的問題的一部分「的最後一個數字之前數字」更具體的。
http://www.w3schools.com/jsref/jsref_obj_regexp.asp – Stephen 2010-11-03 17:55:10