Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
正则表达式Javascript替换_Javascript_Jquery - Fatal编程技术网

正则表达式Javascript替换

正则表达式Javascript替换,javascript,jquery,Javascript,Jquery,我只想将链接中的quantity=20替换为quantity=50。但我尝试了一些正则表达式,例如: 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=20
替换为
quantity=50
。但我尝试了一些正则表达式,例如:

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");
}

所以我想从正则表达式方面的专业知识中得到一些帮助来帮助我=)谢谢

这里是一种方法。它将只处理查询字符串,而不是整个URL

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

试试这个^


将符号“?”“&”(一个且仅一个字符)组合在一起,作为名为$1的组

([?&])
至少查找一个数字 如果有>1个数字,则查找数字的最长连续字符串

\d+
空字符串(如果在末尾)或“&”分组为名为$2的组

“?”表示匹配零或一次


通过在()中分组一组匹配项,然后在结果中使用它作为$1、$2、$3。。。您可以执行搜索和替换以及许多更复杂的操作。

这行不通。你要么把
+
放在括号外,要么——更好的是——根本不用括号。character类中的所有内容都代表一个字符。那么
呢?其他一些\u数量=5和数量=9
?谢谢!!=)我已经解决了我的问题。。。。它在清晨打断了我的头=(不要在[0-9]部分使用插入符号。
^
。插入符号表示要查找以下内容以外的任何内容。请尝试以下内容:
[0-9]+
,因为它将与任何数字匹配一次或多次。anchor.search将以
开头,因此可能应该是
a.search=a.search.replace(/([&^;\?]数量=)[\d\.]+/,“$150”);
也添加了一个小数,以防万一。
replace(/[?&]quantity=\d+([&]?)/g,"$1quantity=50$2");
([?&])
\d+
([&]?)