如何创建一个将使用此字符串(名为url_string
)的Javascript正则表达式:
http://localhost:3000/new_note?date1=01-01-2010&date2=03-03-2010
并将其返回,但将date1
参数的值设置为新的日期变量,称为new_date_1
?
答案 0 :(得分:1)
有更好的方法来操作URL而不是正则表达式,但像这样的简单解决方案可能有效:
after = before.replace(/date1=[\d-]+/, "date1=" + newDate);
[\d-]+
匹配非空数字和/或破折号序列。如果你真的需要,你也可以更具体,例如\d{2}-\d{2}-\d{4}
,或更复杂的日期正则表达式,拒绝无效日期等。
请注意,由于正则表达式使"date1="
前缀成为匹配的一部分,因此它也会替换为替换部分。
答案 1 :(得分:0)
这很麻烦,但是:
var url_string = "http://localhost:3000/new_note?date1=01-01-2010&date2=03-03-2010";
var new_date_1 = "01-02-2003";
var new_url_string = url_string.replace(/date1=\d{2}-\d{2}-\d{4}/, "date1="+new_date_1);
/* http://localhost:3000/new_note?date1=01-02-2003&date2=03-03-2010 */
JS中必须有一个正确的URL解析器。有一个谷歌。
答案 2 :(得分:0)
url.replace(/date1=[0-9-]{10}/, "date1=" + new_date_1);