Dies sollte sehr einfach sein (wenn Sie die Antwort kennen). Aus dieser Frage
Ich möchte die veröffentlichte Lösung ausprobieren. Meine Frage ist:
Wie erhalte ich den Parameterwert einer bestimmten URL mit regulären JavaScript-Ausdrücken?
Ich habe:
http://www.youtube.com/watch?v=Ahg6qcgoay4
Ich brauche:
Ahg6qcgoay4
Ich habe es versucht:
http://www.youtube.com/watch\\?v=(w{11})
Aber: ich sauge ...
Du hättest es fast geschafft, du musst nur spezielle Regex-Zeichen entkommen:
regex = /http\:\/\/www\.youtube\.com\/watch\?v=([\w-]{11})/;
url = 'http://www.youtube.com/watch?v=Ahg6qcgoay4';
id = url.match(regex)[1]; // id = 'Ahg6qcgoay4'
Edit: Korrektur für Regex durch soupagain .
Warum nimmst du nicht die Schnur und spaltet sie auf
Beispiel auf der URL
var url = "http://www.youtube.com/watch?p=DB852818BF378DAC&v=1q-k-uN73Gk"
sie können einen Split als machen
var params = url.split("?")[1].split("&");
Sie erhalten ein Array von Strings mit Parametern als Name-Wert-Paare mit "=" als Trennzeichen.
v ist ein Abfrageparameter. Technisch müssen Sie die Fälle ala berücksichtigen: http://www.youtube.com/watch?p=DB852818BF378DAC&v=1q-k-uN73Gk
In .NET würde ich empfehlen, System.Web.HttpUtility.ParseQueryString
zu verwenden.
HttpUtility.ParseQueryString(url)["v"];
Sie müssen den Schlüssel auch nicht überprüfen, da er null zurückgibt, wenn sich der Schlüssel nicht in der Sammlung befindet.
Nicht getestet, aber das sollte funktionieren:
/\?v=([a-z0-9\-]+)\&?/i
Ich weiß, die Frage ist alt und bereits beantwortet, aber dies kann auch eine Lösung sein
\b[\w-]+$
und ich habe diese beiden URLs überprüft
http://www.youtube.com/watch?v=Ahg6qcgoay4
https://www.youtube.com/watch?v=22hUHCr-Tos
Ich verwende separate benutzerdefinierte Funktionen, die alle URL-Parameter und URL-Teile abrufen. Für URL-Parameter (der letzte Teil eines URI-Strings ist http: //domain.tld/urlpart/? X = a & y = b
function getUrlVars() {
var vars = {};
var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) {
vars[key] = value;
});
return vars;
}
Die obige Funktion gibt ein Array aus URL-Variablen zurück.
Für URL-Parts oder -Funktionen (dies ist http: //domain.tld/urlpart /? X = a & y = b Ich verwende einen einfachen uri-split,
function getUrlParams() {
var vars = {};
var parts = window.location.href.split('/' );
return parts;
}
Sie können sogar beide kombinieren, um sie mit einem einzigen Anruf auf einer Seite oder in Javascript verwenden zu können.