2015-10-19 112 views
2

我想獲得這些3個字符串(TTT,RDT和PRPR)之後和'?'之前的數字。標誌。Javascript:將數字保存到一個字符串後的變量

示例網址:

1.) http://www.website3.com/pages/coupon5+TTT1?adaafaf124ac 
2.) http://www.website3.com/pages/coupon5+RDT12?aaacaf12c212 
3.) http://www.website3.com/pages/coupon5+PRPR300?t222 

例如變量:

  1. X = 1
  2. X = 12
  3. X = 300

    var path = http://www.website3.com/pages/coupon5+TTT1?adaafaf124ac; 
    var newpath = path.match((TTT|RDT|PRPR)\d+).substring(/d+); 
    
+1

+符號在瀏覽器中呈現不同。在這些特定的字符串之後得到數字會更好。 (TTT,RDT,PRPR) - 更新了問題。 – Buildingbrick

回答

1

以下語句將獲得加號和問號標誌之間的數字。

var path = 'http://www.website3.com/pages/coupon5+TTT1?adaafaf124ac'; 

var number_x = path.match(/\+.+\?/)[0].match(/\d+/)[0] * 1; 

如果您希望將字符串TTT/RDT/PRPR匹配,則使用下面的語句。

var number_x = path.match(/(TTT.+|RDT.+|PRPR.+)\?/)[0].match(/\d+/)[0] * 1 
+0

你能否更新你的答案? – Buildingbrick

+0

更新了答案,該答案試圖與TTT/RDT/PRPR相匹配; – rajuGT

+0

該網址沒有硬編碼,但是從窗口中取出。這會使這不起作用嗎? – Buildingbrick

0

這會讓你們兩個供應商和號碼之後。

var path = 'http://www.website3.com/pages/coupon5+TTT1?adaafaf124ac'; 

var pathComponents = path.match(/(TTT|RDT|PRPR)([\d]+)\?/); 

console.log(pathComponents[0]) \\ 'TTT1?' ---- Everything 

console.log(pathComponents[1]) \\ 'TTT' ---- Vendor 

console.log(pathComponents[2]) \\ '1' ---- Number(s) 

這是在您的供應商僅限於TTT,RDT和PRPR的情況下。

+0

這對我來說很重要... – Buildingbrick

+0

加號在瀏覽器中呈現不同的效果,所以我不希望在匹配中使用它。 – Buildingbrick

+0

這不使用加號,我不明白什麼是爲你打破。 –

相關問題