2009-04-11 8 views
4

Quelle est l'expression que je devrais utiliser pour vérifier une URL valide en JavaScript?Vérification d'une URL valide en utilisant Javascript Expressions régulières

+0

http://stackoverflow.com/questions/206059, 441739, 442405, 690849, 161738, etc., etc. Regex peut analyser utilement les URL (voir la réponse de Gumbo pour une démonstration amusante). – bobince

+0

Aussi, valide sur quel sens? foo.com.kg est valide en ce sens que c'est un domaine qui pourrait exister (en Krygystan), foo.com.ap ne l'est pas. Il n'y a pas de code de pays "ap". Mais ils sont tous deux valables dans le sens où ils sont quelque chose.com (deux caractères). – AmbroseChapel

Répondre

1

Cela ne dépend pas de la complexité de la vérification.

Voici un uber-compliqué un:

^(?#Protocol)(?:(?:ht|f)tp(?:s?)\:\/\/|~/|/)?(?#Username:Password)(?:\w+:\[email protected])?(?#Subdomains)(?:(?:[-\w]+\.)+(?#TopLevel Domains)(?:com|org|net|gov|mil|biz|info|mobi|name|aero|jobs|museum|travel|[a-z]{2}))(?#Port)(?::[\d]{1,5})?(?#Directories)(?:(?:(?:/(?:[-\w~!$+|.,=]|%[a-f\d]{2})+)+|/)+|\?|#)?(?#Query)(?:(?:\?(?:[-\w~!$+|.,*:]|%[a-f\d{2}])+=(?:[-\w~!$+|.,*:=]|%[a-f\d]{2})*)(?:&(?:[-\w~!$+|.,*:]|%[a-f\d{2}])+=(?:[-\w~!$+|.,*:=]|%[a-f\d]{2})*)*)*(?#Anchor)(?:#(?:[-\w~!$+|.,*:=]|%[a-f\d]{2})*)?$ 

En fait, les expressions régulières sont portables calme entre plates-formes. La plupart des exemples d'une recherche google peuvent être utilisés en Javascript, mais peut-être avec quelques modifications de "saveur".

Questions connexes