web-dev-qa-db-fra.com

Regex pour tester si la chaîne commence par http: // ou https: //

J'essaie de définir une expression rationnelle qui vérifiera le début d'une chaîne. Si elle contient http:// ou https://, elle doit lui correspondre.

Comment puis je faire ça? J'essaie ce qui suit ne fonctionne pas:

^[(http)(https)]://
178
Click Upvote

Votre utilisation de [] est incorrecte - notez que [] désigne un classe de caractères et ne correspondra donc qu'à un seul caractère. L'expression [(http)(https)] se traduit par "correspond à un (, un h, un t, un t, un p, un ), ou un s. " (Les caractères en double sont ignorés.)

Essaye ça:

^https?://

Si vous voulez vraiment utiliser l'alternance, utilisez plutôt cette syntaxe:

^(http|https)://
319
cdhowie

Insensible à la casse:

var re = new RegExp("^(http|https)://", "i");
var str = "My String";
var match = re.test(str);
36
mishap
^https?://

Cependant, vous devrez peut-être échapper aux barres obliques, selon le contexte.

25
orlp

^https?:\/\/(.*)(.*) est identique à tout le reste après https://

18
Serhii Aksiutin

Cela devrait marcher

^(http|https)://
15
Tasawer Khan