Regexp Javascript替换

时间:2012-01-17 03:00:44

标签: javascript jquery

function example(){
   var quantity = "http://www.example.com/index.php?brandid=b%123&quantity=20";
   quantity = quantity.replace(-what regular expression should i user-, "quantity=50");
}

我想在链接中仅替换quantity=20quantity=50。但我尝试了一些正则表达式,如:

replace(/quantity=[^\d]/g,"quantity=50");
replace(/quantity=[^0-9]/g,"quantity=50");

所以我想从正则表达的专业知识中获得一些帮助,以帮助我=)谢谢

3 个答案:

答案 0 :(得分:3)

replace(/quantity=[\d]+/g,"quantity=50")

答案 1 :(得分:0)

这是你可以做到的一种方式。它只能用于查询字符串,而不是整个URL。

function example(){
   var quantity = 'http://www.example.com/index.php?brandid=b%123&quantity=20',
       a = document.createElement('a');

    a.href = quantity;

    a.search = a.search.replace(/([?&;]quantity=)\d+/, '$150');;

   return a.href;
}

jsFiddle

答案 2 :(得分:0)

replace(/[?&]quantity=\d+([&]?)/g,"$1quantity=50$2");

试试这个^


([?&])

将符号'?''&'(一个且只有一个字符)组合为名为$ 1的组

\d+

找到至少一个数字 如果有> 1位数

,则找到最长的连续位数字符串
([&]?)

空字符串(如果在最后)或'&'组合在一起作为名为$ 2的组

'?'意味着匹配零次或一次

通过在()...()....()中对一组匹配进行分组,然后在结果中将其用作$ 1,$ 2,$ 3 ...您可以执行搜索和替换以及更复杂的操作