我有以下網址JavaScript的正則表達式
http://www.test.info/?id=50&size=40
我如何在JavaScript中的正則表達式的URL參數的值。我需要大小的值,也需要URL沒有&?
只有
http://www.test.info/?id=50
感謝
我有以下網址JavaScript的正則表達式
http://www.test.info/?id=50&size=40
我如何在JavaScript中的正則表達式的URL參數的值。我需要大小的值,也需要URL沒有&?
只有
http://www.test.info/?id=50
感謝
考慮使用split
代替正則表達式:
var splitted = 'http://www.test.info/?id=50&size=40'.split('&');
var urlWithoutAmpersand = splitted[0];
// now urlWithoutAmpersand => 'http://www.test.info/?id=50'
var sizeValue = splitted[1].split('=')[1] * 1;
// now sizeValue => 40
不回答問題。你的解決方案既不是正則表達式,也不提供大小參數的值。 –
@SebastienDaniel我編輯了我的答案,但無論如何,建議採取不同的方式做它不是好的嗎? –
你的答案比較好,但如果添加了任何附加參數,它會中斷。是的,可以提供各種解決方案......如果他們回答這個問題的話。 –
就用這個作爲你的正則表達式
size.*?(?=&|$)
下面是一些代碼,你可以使用
var re = /size.*?(?=&|$)/g;
var myArray = url.match(re);
console.log(myArray);
你也可以不喜歡它這個:
var re = new RegExp("size.*?(?=&|$)", "g");
,它也會抓取大小參數後面的任何東西,甚至是額外的參數。 –
你現在在想什麼? –
好得多。我會補充說,「大小」匹配必須以?|&開頭,因爲你不想從url部分的匹配 –
這是您可以使用的正則表達式模式。
^(.+)&size=(\d+)
第一組將是'&'符號之前的URL。第二組將是大小參數的值。這個假設id總是在大小之前,並且只有兩個參數:id和size。
無不是id參數我需要的值之後&像大小= 40 –
和需要的URL,而不&像http://www.test.info /?id = 50 –
這就是你需要的,看看那個答案 –