Regex url qui laisse passer un double http

Fermé
Adamsong - 22 févr. 2014 à 11:37
 Utilisateur anonyme - 22 févr. 2014 à 12:22
bonjour,
voici mon problème. je ne suis pas un spécialiste des regex et j'ai trouvé celle-ci pour une validation d'url dans un formulaire:


/((http:\/\/|https:\/\/)(www.)(([a-zA-Z0-9-]){2,}\.){1,4}([a-zA-Z]){2,6}(\/([a-zA-Z-_\/\.0-9#:?=&;,]*)?)?)/

mon problème est que cette regex laisse passée des adresses du type:

"http://http://www.trucmuch.com"

comment puis-je modifier celle-ci pour ne pas avoir ce type de problème

Merci d'avance.
A voir également:

1 réponse

Utilisateur anonyme
22 févr. 2014 à 12:22
Django utilise cela pour la validation des URL. À tester!

regex = re.compile(
        r'^(?:[a-z0-9\.\-]*)://' # scheme is validated separately
        r'(?:(?:[A-Z0-9](?:[A-Z0-9-]{0,61}[A-Z0-9])?\.)+(?:[A-Z]{2,6}\.?|[A-Z0-9-]{2,}\.?)|' # domain...
        r'localhost|' # localhost...
        r'\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}|' # ...or ipv4
        r'\[?[A-F0-9]*:[A-F0-9:]+\]?)' # ...or ipv6
        r'(?::\d+)?' # optional port
        r'(?:/?|[/?]\S+)$', re.IGNORECASE)
0