如何使JavaScript正則表達式,將採取該字符串(命名url_string
):如何在Javascript中實現這個正則表達式?
http://localhost:3000/new_note?date1=01-01-2010&date2=03-03-2010
並返回,但與date1
參數設置爲一個新的日期變量,這就是所謂new_date_1
的價值?
如何使JavaScript正則表達式,將採取該字符串(命名url_string
):如何在Javascript中實現這個正則表達式?
http://localhost:3000/new_note?date1=01-01-2010&date2=03-03-2010
並返回,但與date1
參數設置爲一個新的日期變量,這就是所謂new_date_1
的價值?
有更好的方法來操縱URL比正則表達式,但像他這樣一個簡單的解決方案可能工作:
after = before.replace(/date1=[\d-]+/, "date1=" + newDate);
[\d-]+
的數字和/或破折號一個非空的序列相匹配。如果你真的需要,你也可以更具體地使用例如\d{2}-\d{2}-\d{4}
,或更復雜的日期正則表達式,拒絕無效的日期等。
請注意,由於正則表達式使得"date1="
前綴部分的匹配,它也被替換爲替換的一部分。
它的混亂,但:
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解析器。有一個谷歌。
url.replace(/date1=[0-9-]{10}/, "date1=" + new_date_1);