2010-10-03 2 views
0

Comment puis-je faire une expression régulière Javascript qui prendra cette chaîne (appelée url_string):Comment implémenter cette expression régulière en Javascript?

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

et le retourner, mais avec la valeur du paramètre date1 réglé sur une nouvelle date variable, qui est appelée new_date_1 ?

Répondre

1

Il existe de meilleures façons de manipuler l'URL de regex, mais une solution simple comme cela peut fonctionner:

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

[\d-]+ correspond à une séquence non vide de chiffres et/ou des tirets. Si vous en avez vraiment besoin, vous pouvez également être plus spécifique avec, par exemple, \d{2}-\d{2}-\d{4}, ou une date regex encore plus compliquée qui rejette les dates non valides, etc.

Notez que depuis l'expression régulière fait le "date1=" préfixe partie de la correspondance, il est également substitué dans le cadre du remplacement.

0

Il est en désordre, mais:

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 */ 

Il doit y avoir un analyseur d'URL approprié dans JS. Avoir un Google.

0
url.replace(/date1=[0-9-]{10}/, "date1=" + new_date_1); 
Questions connexes