Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

JS (regexp) & FireFox

6 réponses
Avatar
shak
Bonjour,
Je viens d'installer firefox, pour voir a quoi ressembler les sites que j'ai
fait,
et là....... c'est la merde!
Il n'y a rien qui marche... le css, le js... enfin je vous passe les détails
et
j'essaye de debuger petit à petit pour que ca marche sous FireFox tout en
restant correcte sous IE.

Pour le moment je butte sur ca :
if(/^[0-9a-zA-Z_\-]{1}*@[0-9a-zA-Z]{1}*\.[0-9a-zA-Z]{1,4}$/.test('toto')==false){
alert("Email incorrect, veuillez entrer un email valide");
return false;
}
Le debugger de FireFox me dit :
Erreur : invalid quantifier *
if(/^[0-9...................
|____ (flèche qui pointe entre le / et le ^)

Du coup le js ne fonctionne pas du tout.
Le script fonctionne pourtant à 100% sur IE.

Quelqu'un a-t-il une idée ?
Merci d'avance.
Shak.

6 réponses

Avatar
YD
Bonjour,
Je viens d'installer firefox, pour voir a quoi ressembler les sites que j'ai
fait,
et là....... c'est la merde!
Il n'y a rien qui marche... le css, le js... enfin je vous passe les détails
et
j'essaye de debuger petit à petit pour que ca marche sous FireFox tout en
restant correcte sous IE.


Pour être correct, c'est plutôt IE qui autorise n'importe quoi..

Pour le moment je butte sur ca :
if(/^[0-9a-zA-Z_-]{1}*@[0-9a-zA-Z]{1}*.[0-9a-zA-Z]{1,4}$/.test('toto')=úlse){
alert("Email incorrect, veuillez entrer un email valide");
return false;
}
Le debugger de FireFox me dit :
Erreur : invalid quantifier *
if(/^[0-9...................
|____ (flèche qui pointe entre le / et le ^)

Du coup le js ne fonctionne pas du tout.
Le script fonctionne pourtant à 100% sur IE.


L'écriture est incorrecte et Firefox le signale, même s'il ne pointe pas précisément
l'erreur ou les erreurs :
[0-9a-zA-Z_-]{1}*
ne veut rien dire, tu mets côte à côte {1} et *, il faut interpréter cela comment ?
{1} une seule fois
* 0 ou plusieurs fois
Si ce que tu veux c'est au moins un caractère alors tu as le choix entre {1,} ou plus
simplement + comme ceci : [0-9a-zA-Z_-]+

Ceci étant, j'ai plusieurs adresses dont la partie utilisateur comprennent un point,
elles seraient refusées par ta fonction...

Si quelqu'un d'un ministère essaie d'entrer son adresse (domaine ministère.gouv.fr
comme equipement.gouv.fr, education.gouv.fr...) même problème.

Il existe une norme (imbuvable et en anglais), la RFC-2822 qui formalise les adresses
(caractères autorisés par exemple). Tu n'es pas obligé de t'y référer, d'autres l'ont
fait pour toi ;-)

Personnellement je me sers de cette fonction :

function isValidMail(s) {
var atom="w!#$%&'*+-/=?^`{|}~";
var dotatom="["+atom+"]+(?:.["+atom+"]+)*";
var emailTemplate=new RegExp("^"+dotatom+"@"+dotatom+"$");
return(emailTemplate.test(s));
}

Elle ne vérifie pas si le domaine de premier niveau est plausible (mais ta fonction
ne le faisait pas mieux avec {1,4}, déjà il vaudrait mieux {2,4} et il existe un
domaine .museum qui serait refusé).

--
Y.D.

Avatar
YD
Bonjour,
Je viens d'installer firefox, pour voir a quoi ressembler les sites que j'ai
fait,
et là....... c'est la merde!
Il n'y a rien qui marche... le css, le js... enfin je vous passe les détails
et
j'essaye de debuger petit à petit pour que ca marche sous FireFox tout en
restant correcte sous IE.


Pour être correct, c'est plutôt IE qui autorise n'importe quoi..

Pour le moment je butte sur ca :
if(/^[0-9a-zA-Z_-]{1}*@[0-9a-zA-Z]{1}*.[0-9a-zA-Z]{1,4}$/.test('toto')=úlse){
alert("Email incorrect, veuillez entrer un email valide");
return false;
}
Le debugger de FireFox me dit :
Erreur : invalid quantifier *
if(/^[0-9...................
|____ (flèche qui pointe entre le / et le ^)

Du coup le js ne fonctionne pas du tout.
Le script fonctionne pourtant à 100% sur IE.


L'écriture est incorrecte et Firefox le signale, même s'il ne pointe pas précisément
l'erreur ou les erreurs :
[0-9a-zA-Z_-]{1}*
ne veut rien dire, tu mets côte à côte {1} et *, il faut interpréter cela comment ?
{1} une seule fois
* 0 ou plusieurs fois
Si ce que tu veux c'est au moins un caractère alors tu as le choix entre {1,} ou plus
simplement + comme ceci : [0-9a-zA-Z_-]+

Ceci étant, j'ai plusieurs adresses dont la partie utilisateur comprennent un point,
elles seraient refusées par ta fonction...

Si quelqu'un d'un ministère essaie d'entrer son adresse (domaine ministère.gouv.fr
comme equipement.gouv.fr, education.gouv.fr...) même problème.

Il existe une norme (imbuvable et en anglais), la RFC-2822 qui formalise les adresses
(caractères autorisés par exemple). Tu n'es pas obligé de t'y référer, d'autres l'ont
fait pour toi ;-)

Personnellement je me sers de cette fonction :

function isValidMail(s) {
var atom="w!#$%&'*+-/=?^`{|}~";
var dotatom="["+atom+"]+(?:.["+atom+"]+)*";
var emailTemplate=new RegExp("^"+dotatom+"@"+dotatom+"$");
return(emailTemplate.test(s));
}

Elle ne vérifie pas si le domaine de premier niveau est plausible (mais ta fonction
ne le faisait pas mieux avec {1,4}, déjà il vaudrait mieux {2,4} et il existe un
domaine .museum qui serait refusé).

--
Y.D.

Avatar
Thibaut Allender
Je viens d'installer firefox, pour voir a quoi ressembler les sites que j'ai
fait,


il est temps de s'en inquieter, on est bientôt en 2005 quand même...

--
thibaut allender | freelance | http://capsule.org

Avatar
shak
"YD" a écrit dans le message de news:
41913e3f$0$3441$
j'essaye de debuger petit à petit pour que ca marche sous FireFox tout en
restant correcte sous IE.


Pour être correct, c'est plutôt IE qui autorise n'importe quoi..
Je m'attendais bien a cette remarque ! :)


L'écriture est incorrecte et Firefox le signale, même s'il ne pointe pas
précisément
l'erreur ou les erreurs :
[0-9a-zA-Z_-]{1}*
ne veut rien dire, tu mets côte à côte {1} et *, il faut interpréter cela
comment ?
{1} une seule fois
* 0 ou plusieurs fois
Si ce que tu veux c'est au moins un caractère alors tu as le choix entre
{1,} ou plus
simplement + comme ceci : [0-9a-zA-Z_-]+
Ok!!! si firefox avait pointé la dessus, j'aurai tilté de suite ! Mais je me

focalisait sur le premier caractère.

Ceci étant, j'ai plusieurs adresses dont la partie utilisateur comprennent
un point,
elles seraient refusées par ta fonction...

Si quelqu'un d'un ministère essaie d'entrer son adresse (domaine
ministère.gouv.fr
comme equipement.gouv.fr, education.gouv.fr...) même problème.

Il existe une norme (imbuvable et en anglais), la RFC-2822 qui formalise
les adresses
(caractères autorisés par exemple). Tu n'es pas obligé de t'y référer,
d'autres l'ont
fait pour toi ;-)

Personnellement je me sers de cette fonction :

function isValidMail(s) {
var atom="w!#$%&'*+-/=?^`{|}~";
var dotatom="["+atom+"]+(?:.["+atom+"]+)*";
var emailTemplate=new RegExp("^"+dotatom+"@"+dotatom+"$");
return(emailTemplate.test(s));
}

Elle ne vérifie pas si le domaine de premier niveau est plausible (mais ta
fonction
ne le faisait pas mieux avec {1,4}, déjà il vaudrait mieux {2,4} et il
existe un
domaine .museum qui serait refusé).

--
Y.D.
Merci.


Shak


Avatar
shak
"Thibaut Allender"
a écrit dans
le message de news:
Je viens d'installer firefox, pour voir a quoi ressembler les sites que
j'ai fait,


il est temps de s'en inquieter, on est bientôt en 2005 quand même...
Désolé, personne n'est parfait!

Mais sachant que ce n'est pas mon métier... J'ai pas vraiment d'obligation
sur le fonctionnement des sites que j'ai fait.
Et enfin : mieux vaut tard que jamais ! ;)

Shak.


Avatar
Thibaut Allender
Désolé, personne n'est parfait!
Mais sachant que ce n'est pas mon métier... J'ai pas vraiment d'obligation
sur le fonctionnement des sites que j'ai fait.


non, mais si vous faîtes un site, c'est pour qu'il soit accessible et
consultable par tous non ?
c'est plus une question de volonté que "d'obligation"

d'ailleurs, beaucoup de gens dont c'est le "métier" (urhm...) ne sont
toujours pas au courant qu'il existe autre chose que Internet Explorer

Et enfin : mieux vaut tard que jamais ! ;)


exactement !

--
thibaut allender | freelance | http://capsule.org