Regex

.NET: Validando uma Url

Para validar uma Url no .Net Framework nós temos duas opções:

  1. Usar Expressões Regulares (Regex)
  2. Usar o método System.Uri.IsWellFormedUriString()

Usando expressões regulares teríamos o seguinte código:

C#

using System.Text.RegularExpressions;

string strRegex = @"^(http|ftp|https|www)://([\w+?\.\w+])+([a-zA-Z0-9\~\!\@\#\$\%\^\&\*\(\)_\-\=\+\\\/\?\.\:\;\'\,]*)?$";
Regex myRegex = new Regex(strRegex, RegexOptions.IgnoreCase);

if(myRegex.IsMatch(@"Url"))
{
      //Aqui o código caso a url testada seja válida
}

VB.NET

Imports System.Text.RegularExpressions

Dim strRegex as String = "^(http|ftp|https|www)://([\w+?\.\w+])+([a-zA-Z0-9\~\!\@\#\$\%\^\&\*\(\)_\-\=\+\\\/\?\.\:\;\'\,]*)?$"
Dim myRegex As New Regex(strRegex, RegexOptions.IgnoreCase)

If myRegex.IsMatch("Url") Then
      'Aqui o código caso a url seja válida
End If

E usando o método Uri.IsWellFormedUriString teríamos o seguinte código:

C#

if(System.Uri.IsWellFormedUriString(@"Url", System.UriKind.Absolute))
{
      //Aqui o código caso a url seja válida
}

VB.NET

If System.Uri.IsWellFormedUriString("Url", System.UriKind.Absolute) Then
       'Aqui o código caso a url seja válida
End If

Basicamente, é isso! 🙂

Anúncios

Criando e usando Expressões Regulares (Regex)

Neste post vou apresentar o Regex Hero, uma ferramenta online gratuita para projetar e testar Expressões Regulares para o .Net Framework. Segue o link:

The .NET Regex Tester | Regex Hero

Além de ajudar na criação e teste das expressões ela ainda gera o código (C# ou VB.NET) para usar as expressões.

Realmente é algo muito útil!

E se você não tem muito conhecimento sobre expressões regulares, eu recomendo estes dois ótimos artigos do site do Macoratti:

A plataforma .NET e as  Expressões Regulares

.NET – Usando Expressões Regulares II