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, et si elle contient http:// ou https:// cela devrait correspondre.

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

 ^[(http)(https)]:// 

Votre utilisation de [] est incorrecte – notez que [] dénote une classe de caractères et ne correspondra donc qu’à un seul caractère. L’expression [(http)(https)] 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 Ssortingng"; var match = re.test(str); 
 ^https?:// 

Vous devrez peut-être cependant échapper aux barres obliques, selon le contexte.

Cela devrait fonctionner

 ^(http|https):// 

^https?:\/\/(.*)(.*) correspond à tout le rest après https://