Bonjour,

Je viens de d�velopper une expression r�guli�re qui me permet de faire un isFloat : v�rifier si un nombre est un r�el qui soit de la forme "0.154" ou "155" ou "12.4" et non pas "1." ou "1.454.4" ou "12aaaa" etc.

L'expression est test�e avec succ�s gr�ce � ce site tr�s pratique.

Une fois impl�ment� dans une page HTML, quand j'effectue le test ci-dessous sous Firefox ou Opera, j'obtiens un r�sultat �trange : true, false, true, false
alors que sous Internet Explorer, le r�sultat semble tout � fait convenable (pour une fois !) car j'obtiens des true.

Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
<script language="javascript">
String.prototype.trim = function() {
	return this.replace(/^\s*|\s*$/g,"");
}
String.prototype.isFloat = function() {
 var regEx = /^\d+([\.]\d+)?$/gi;
 return regEx.test(this.trim());
}
var t="125", i=0;
alert((++i)+") "+t+" "+(t.isFloat()));
alert((++i)+") "+t+" "+(t.isFloat()));
alert((++i)+") "+t+" "+(t.isFloat()));
alert((++i)+") "+t+" "+(t.isFloat()));
alert((++i)+") "+t+" "+(t.isFloat()));
 
</script>
Avez-vous une id�e du probl�me ? Pourtant ce sont les m�mes appels r�p�t�s ! Ca devrait donner des r�sultats identiques !
Une mauvaise syntaxe ? Un bug FF / Opera ?

Merci d'avance !
FB