Regex javascript compatibilité

camellion2 Messages postés 6 Date d'inscription samedi 9 mai 2009 Statut Membre Dernière intervention 3 janvier 2010 - 3 janv. 2010 à 15:39
cs_Flash100 Messages postés 1 Date d'inscription jeudi 20 avril 2006 Statut Membre Dernière intervention 17 janvier 2010 - 17 janv. 2010 à 20:05
Bonjour à tous,

J'ai un souci avec une regex sous javascript qui me permet de verifier que l'utilisateur a bien tapé un entier ou un décimal du type 0.5,1.5 mais pas 0.2....

ma regex :

var esthetique = new RegExp("^([0-7])?.{0,1}?5{0,1}$", "g");
if (!(esthetique.test(document.formulaire.esthetique.value)))
{ alert("Saisie incorrect !!!");
document.formulaire.esthetique.focus();
return false;}
else
if(!(esthetique.test(document.formulaire.pretium.value)))
{alert("Saisie incorrect !!!");
document.formulaire.pretium.focus();
return false;}

Elle marche très bien avec Firefox mais avec IE je comprends pas pourquoi ça ne marche pas.

Merci d'avance pour votre aide,

3 réponses

jdmcreator Messages postés 647 Date d'inscription samedi 30 décembre 2000 Statut Membre Dernière intervention 20 juillet 2012 7
3 janv. 2010 à 20:16
Je n'ai pas regardé ni testé

mais il me semble que le symbole point (.) signifie n'importe quel caractère dans un regex ;)


JDMCreator
--------
Participez au nouveau projet : la wiki sur le javascript !
fr.jsinfo.wikia.com
0
camellion2 Messages postés 6 Date d'inscription samedi 9 mai 2009 Statut Membre Dernière intervention 3 janvier 2010
3 janv. 2010 à 22:07
Personne n'a une idée pour m'aider please
0
cs_Flash100 Messages postés 1 Date d'inscription jeudi 20 avril 2006 Statut Membre Dernière intervention 17 janvier 2010
17 janv. 2010 à 20:05
J'ai crée ce petit exemple pour toi. Il fonctionne aussi bien avec IE6 que avec Firefox 3.5.x

La regex que j'ai crée valide les chiffres suivantes (quelques exemple):
1 , 2 , 3, etc.
0.5 , 1.5 , 2.5 , etc.

Sont rejeté les chiffres (exemple):
2.0, 2.1, 2.2, 2.3, 2.4, 2.6, 2.7, 2.8, 2.9

Il faut voire si tu veut accepter le chiffre "2.0" car pour moi c'est un entier ... il faut donc adapter ta regex.

Sont rejette les chiffres négatives comme par exemple:
-1.5 etc ....

Sont aussi rejette les lettres ...

Voici mon exemple:

<html>
<head>
<title>RegEx Javascript validation numérique</title>


<script type="text/javascript">
// check regex at : http://tools.netshiftmedia.com/regexlibrary/
function validation(){
rex = /^\d*[0-9](\.\d*[5])?$/;
if(document.usrFrm.inputTxt.value.match(rex))
alert('Valeur entière OU décimale finissant par .5');
else
alert('Valeur non entière');
}

</script>

</head>


<form id="usrFrm" name="usrFrm">

Demo de validation - numérique décimal
<hr>
Veuillez indiquer votre chiffre


</form>

</html>
0
Rejoignez-nous