2010-11-10 11 views
0

J'utilise le Javascript pour saisir une variable passée à travers l'URL:JavaScript chaîne Manipulation

function get_url_parameter(param){ 
    param = param.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]"); 
    var r1 = "[\\?&]"+param+"=([^&#]*)"; 
    var r2 = new RegExp(r1); 
    var r3 = r2.exec(window.location.href); 
    if(r3 == null) 
    return ""; 
    else 
    return r3[1]; 
} 

Une fois que je le paramètre requis

var highlightsearch = get_url_parameter('search'); 

Je veux être en mesure de supprimer tous les chaîne après le ">".

par exemple

Le résultat ressemble actuellement à ceci:

highlightsearch = "Approved%20XXXXX%20XXXXX>YYYY%20YYYYYYY%20YYYY%20-%20YYYY%20YYYY"; 

Après ma manipulation de chaînes que je veux regarder, espérons que

highlightsearch = "Approved%20XXXXX%20XXXXX"; 

Toute aide serait grande.

+1

Shameless plug, mais votre fonction param URL n'est pas très efficace, il ne fonctionne pas avec les params encodés ou ne décode pas le résultat. Voir http://stackoverflow.com/questions/901115/get-querystring-values-with-jquery/2880929#2880929 pour une solution plus robuste. –

+0

Merci Andy, j'apprends beaucoup ce soir! – darrenhamilton

Répondre

1

Expression régulière pour correspondre ">" et tout ce qui suit: >.*

+0

Merci les gens. Travailler dessus maintenant. – darrenhamilton

+0

Parfait! Merci beaucoup pour votre aide. – darrenhamilton

2

Ce qui suit vous obtenez tout avant le ">":

var highlightsearch = get_url_parameter('search'); 

// highlightsearch = "1234>asdf" 

highlightsearch = highlightsearch.slice(0, highlightsearch.indexOf(">")); 

// highlightsearch = "1234"