Ciao a tutti.

Ho questo problema:
per abbreviare la lunghezza del discorso, ho un form di Login, in cui sono presenti 2 TextBox che accettano da un min di 5 caratteri ad un max di 20 e solo lettere maiuscole, minuscole, numeri, underscore, trattino, e lettere accentate.


Invece di usare un ciclo For su ogni text controllando ogni singolo carattere digitato, le RegularExpression mi sembravano efficaci.

Ho provato a mettere questo pezzo di codice:
codice:
Function Convalida(ByVal Controllo As TextBox, ByVal TipoControllo As Integer)
     Dim Espressione As String = "", Errore As Boolean = False

     Select Case TipoControllo
          Case 1 'Nome Utente, Password;
               Espressione = "[\w-àèéìòù]*"
     End Select

     Dim Reg As New Text.RegularExpressions.Regex(Espressione)

     If Not (Reg.IsMatch(Controllo.Text)) Then
          Errore = True
     End If
     
     Return(Errore)
End Function
lasciando stare che il select case ha solo un case(ma verrà poi incrementato per vari controlli)
non mi funziona, ovvero anche se la text contiene solo questi caratteri si verifica l'errore e queindi entra in Errore=True.

Come mai? In cosa sbaglio?

inoltre la RegularExpression che ho inserito è corretta? e per l'E-mail come diventa?


Grazie mille.