2010-10-03 70 views
0

如何使JavaScript正則表達式,將採取該字符串(命名url_string):如何在Javascript中實現這個正則表達式?

http://localhost:3000/new_note?date1=01-01-2010&date2=03-03-2010 

並返回,但與date1參數設置爲一個新的日期變量,這就是所謂new_date_1的價值?

回答

1

有更好的方法來操縱URL比正則表達式,但像他這樣一個簡單的解決方案可能工作:

after = before.replace(/date1=[\d-]+/, "date1=" + newDate); 

[\d-]+的數字和/或破折號一個非空的序列相匹配。如果你真的需要,你也可以更具體地使用例如\d{2}-\d{2}-\d{4},或更復雜的日期正則表達式,拒絕無效的日期等。

請注意,由於正則表達式使得"date1="前綴部分的匹配,它也被替換爲替換的一部分。

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解析器。有一個谷歌。

0
url.replace(/date1=[0-9-]{10}/, "date1=" + new_date_1); 
相關問題