La fonction suivante permet de vérifier si le format d'une chaîne passée en paramètre correspond à une URL. La fonction retournera alors une valeur booléenne.
Source / Exemple :
Function ValidationURL(url)
Dim modele
set modele = New RegExp
modele.pattern = "^(http://|https://){0,1}[A-Za-z0-9][A-Za-z0-9\-\.]+[A-Za-z0-9]\.[A-Za-z]{2,}[\43-\176]*$"
modele.global = true
ValidationURL = modele.test(url)
End Function
Conclusion :
C'est le premier jet de ce bout de code, que je viens tout juste de pondre en écoutant PSI Factor... Ainsi, il est probable qu'il ait certaines failles... J'en ai déjà noté quelques unes, mais je manque d'inspiration, pour les corriger, en ce moment. Les voici :
il est possible de mettre des séquences invalides telles que .. ou ./ ou //
Je mettrai sûrement cet exemple à jour, lorsque je retravaillerai ce bout de code. Pour l'instant, il satisfait à mes besoins... Alors, si vous y apportez quelques corrections que ce soit, ce serait bien que vous nous en fassiez part, via le système de commentaires.
Merci.
Commentaires
False pour
test.test.php/http://test.test.php
et true pour
www.google.com
J'essaie en vain de trouver un regexp qui me renvoi false pour "test.test.php/http://test.test.php" et true pour "www.google.com"
Une idée?
Merci
Portekoi
pour les regexp tu peux allez voir ici : http://regexlib.com/DisplayPatterns.aspx?cattabindex=1&categoryId=2
tu en auras des regexp plus completes
en .net ca donne :
Public Shared Function IsUrl(ByVal strTmp As String) As Boolean
Dim objIntPattern As New System.Text.RegularExpressions.Regex( "^(http://|https://){0,1}[A-Za-z0-9][A-Za-z0-9\-\.]+[A-Za-z0-9]\.[A-Za-z]{2,}[\43-\176]*$")
Return objIntPattern.IsMatch(strTmp)
End Function
d'apres Fabrice69 : http://www.aspfr.com/code.aspx?ID=21154
Mais je pense qu'il y a une classe dans le framework qui fait deja ca, c'est juste pour montrer comment faire sur le meme principe en .net
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.