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)]://
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)://
Insensible à la casse:
var re = new RegExp("^(http|https)://", "i");
var str = "My String";
var match = re.test(str);
^https?://
Cependant, vous devrez peut-être échapper aux barres obliques, selon le contexte.
^https?:\/\/(.*)
où (.*)
est identique à tout le reste après https://
Cela devrait marcher
^(http|https)://