OVH Cloud OVH Cloud

interdire numéric

2 réponses
Avatar
polo59
Bonsoir a tous,

je d=E9veloppe une appli VBScript=20
je sais que pour remplir un champ qui ne demande que du=20
num=E9rique j'ai la fonction : isNaN que j'utilise comme ci=20
dessous;

var quant
quant=3Ddocument.formmodif.quantite.value;
if (isNaN(quant))
{alert("Entrer une quantit=E9=20
valide");document.formmodif.quantite.select(); return;}
=20

je sais pas faire l'inverse =E0 savoir demander la=20
saisie d'une adresse mail et n'accepter que les 26 lettres=20
+ "." et "-"uniquement (ex : jean-marc.bernard), et ne pas=20
permettre l'utilisation d'un espace.

Par avance je vous remercie

slt Polo59

2 réponses

Avatar
Zoury
voir réponse à la question [isNaN] de Monica..
Avatar
Jean-Marc
"Zoury" <yanick_lefebvre at hotmail dot com> a écrit dans le message de
news:
voir réponse à la question [isNaN] de Monica..



Hello,

pour les spécifications des caractères valides dans une adresse email, lire
la RFC SMTP...
Dans le champ adresse, on doit indiquer une <route-directe>. Voici la
grammaire, qui montre que le
problème de vérifier si une adresse email saisie est formellement correcte
est moins trivial qu'il
n'y parait:
<route-inverse> ::= <chemin>
<route-directe> ::= <chemin>
<chemin> ::= "<" [ <a-d-l> ":" ] <bal> ">"
<a-d-l> ::= <at-domaine> | <at-domaine> "," <a-d-l>
<at-domaine> ::= "@" <domaine>
<domaine> ::= <élément> | <élément> "." <domaine>
<élément> ::= <nom> | "#" <nombre> | "[" <adresseIP> "]"
<bal> ::= <partie-locale> "@" <domaine>
<partie-locale> ::= <chaîne-pointée> | <chaîne-quotée>
<nom> ::= <a> <ldh-ch> <alphanum>
<chaîne-hyp> ::= <alphanum-hyp> | <alphanum-hyp> <chaîne-hyp>
<alphanum> ::= <alpha> | <digit>
<alphanum-hyp> ::= <alpha> | <digit> | "-"
<chaîne-pointée> ::= <chaîne> | <chaîne> "." <chaîne-pointée>
<chaîne> ::= <char> | <char> <chaîne>
<chaîne-quotée> ::= """ <texte> """
<texte> ::= "" <x> | "" <x> <texte> | <uq> | <uq> <texte>
<xcar> ::= <char> | "" <x>
<adresseIP> ::= <short> "." <short> "." <short> "." <short>
<nombre> ::= <digit> | <digit> <nombre>
<CRLF> ::= <CR> <LF>
<CR> ::= Le caractère Retour Chariot (ASCII code 13)
<LF> ::= Le caractère Nouvelle Ligne (ASCII code 10)
<SP> ::= Le caractère Espace (ASCII code 32)
<short> ::= un, deux, ou trois digits représentant un
entier décimal de 0 à 255
<alpha> ::= tout caractère parmi les 52 caractères
alphabétiques A à Z (majuscules)
et a à z (minuscules)
<char> ::= any one of the 128 ASCII characters,
but not any <special> or <SP>
<digit> ::= un digit de 0 à 9
<uq> ::= tout caractère parmi les 128 caractères
ASCII sauf <CR>, <LF>, quote ("), ou antislash ()
<x> ::= tout caractère de l'ASCII (pas d'exceptions)
<special> ::= "<" | ">" | "(" | ")" | "[" | "]" | "" | "." | "," |
";" | ":" | "@" """ | les caractères de contrôle de
l'ASCII (codes 0 à 31 inclus et 127)

Jean-Marc