Forum Clubic

Masque de saisie pour : - VB.net : "mail, tel"

salut tt le monde.

est ce ke quelqu’un a une idée comment faire un masque de saisie dans une zone de texte pour une adresse email et un numéro de téléphone ayant le format suivant : XXX XX XX XX

si klk’1 pourrait m’aider, j’en serait vraiment reconnaissante.

Merci d’avance. :slight_smile:

http://msdn2.microsoft.com/en-us/library/s…tor(VS.80).aspx

http://msdn2.microsoft.com/en-us/library/kweb790z.aspx

XXX XX XX XX

=> \d{3} \d{2} \d{2} \d{2}
ou => \d\d\d \d\d \d\d \d\d

resalut.

j’ai trouvé cette fonction dans un des liens que tu m’as envoyé pour la vérification du mail :

Function IsValidEmail(strIn As String) As Boolean
’ Return true if strIn is in valid e-mail format.
Return Regex.IsMatch(strIn, “^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$”)
End Function

mais je comprends pas ce "regex", il signifie koi au juste :neutre:

et est ce ke je dois faire la meme chose pour le tel seulement en changeant l’expression entre parenthèses par une des 2 expressions que tu m’avais envoyé?
\d{3} \d{2} \d{2} \d{2}
ou => \d\d\d \d\d \d\d \d\d ???

Déjà ça serait sympa de savoir avec quoi tu programmes, si tu as studio,
tu as un textbox que tu peux lier à un regularexpressionvalidator via la propriété ControlToValidate et ce “validateur d’expression règuliere” possède une autre proprieté qui est ValidationExpression

Cette expression règuliere de validation est une chaine de caractere refletant le masque de saisie que tu veux associer à ton textbox


<asp:RegularExpressionValidator id="RegularExpressionValidator1"    	runat="server" Width="32px" ErrorMessage="PAS TELEPHONE" Height="16px" ControlToValidate="LE_TEXTBOX_A_VALIDER"    ValidationExpression="\d{3} \d{2} \d{2} \d{2}">
</asp:RegularExpressionValidator>

en fait je travaille sur visual studio 2003 en vb.net
mon application est sous forme de windowsForms
ce k tu m’as envoyé c en asp je pense, c ça?

j’ai établi un code mais j’ai pas encore testé :

c pour tester si la zone de texte contenant le mail contient un “.” ainsi qu’un “@”

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim x(), y() As String
x = Split(TextBox1.Text, "@")
If x.Length = 2 Then
y = Split(x(1), ".")
If y.Length > 2 Then
MsgBox("email ok")
Else
MsgBox("email doit contenir un point")
End If
Else
MsgBox("email doit contenir un @")
End If
End Sub

Faut le dire tout de suite avec quoi tu programme et en quel langage, en asp il y a un control regularexpressionvalidator qui fait ça trés bien mais en vb.net c’est différent…

je pense que ça peut t’aider Ajout d’une validation d’expression régulière

plutot que te faire ch… a chercher des @ et des .

oui t’as raison, désolée, j’ai pas fait attention. :confused:

bon, merci pour le lien. je vais le consulter :wink:

En fait, j’ai trouvé un controle prêt dans vb.net, il suffit de l’ajouter à la boite de controle et d’y affecter le masque souhaité à travers ses propriétés.

c le Microsoft Masked Edit control

mais pas pour le mail :confused:

Mais bon, mieux ke rien :wink:

le problème mnt c comment je peux vider le contenu du controle Masked edit?

c à dire comment retourner d’un contenu de type 111 11 11 11 au format initial du control => ___ __ __ __ pour pouvoir resaisir un autre tel.

Masque d’adresse email:

\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*

Par contre

j’ai pas compris :wink:

mais peut etre veut tu fais une sorte de reset du controle

AxMaskEdBox1.ResetText

je m’explique alors.
j’ai une form contenant plusieurs zones de texte, une de ces zones de texe est pour saisir un numéro de telephone. Le tout va être valider par la suite à ma base de données .

pour le masque de saisie lors du chagement de la feuille est marké com le suivant :
0__ __ __ __

j’y saisie un numéro de telephonne, par exemple : 022 22 22 22 (le 0 est par défaut)

après validation, je veux vider tous les champs y compris la zone du numéro de tel, plus clairement je veux qu’elle retourne com c qu’elle était lors du chargement de la fenêtre, c à dire 0__ __ __ __ .

pour un textbox on fait : textbox1.text="" mais pour ce controle de masque de saisie je ne sais plus comment le faire.


axMaskEdBox1.defaultText="0"

Ca doit fonctionner ça non?

non, ça n’a pas foctionné. ça me donne l’exception suivante

Une exception non gérée du type ‘System.Runtime.InteropServices.COMException’ s’est produite dans axinterop.msmask.dll

Informations supplémentaires : Exception de HRESULT : 0x800A017C (CTL_E_INVALIDPROPERTYVALUE).