Salut à tous !

J'ai un petit souci javascript et je n'en voit pas la raison !

J'ai un tableau qui contient plusieurs input, et avec le onblur je teste e qui a été rentré ou non.
Code HTML:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
<body>
This is my HTML page. <br>
 
    <input type="text" id="inputText1" onblur="javascript:fieldControl('inputText1','2');">
    <input type="text" id="inputText2" onblur="javascript:fieldControl('inputText2','3');">
    <input type="text" id="inputText3" onblur="javascript:fieldControl('inputText3','5');">
  </body>
</html>

CODE JS:
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
<script language="Javascript">
		function fieldControl(id, i1)
			{	
				alert(i1);
				var fieldValue = document.getElementById(id).value;
				alert(fieldValue);
				var pattern = /([0-9]{1,3})|([0-9]{1,3}[.][0-9]{0,2})/;
				alert(pattern);
				if(pattern.test(fieldValue)){
					alert("ça marche ");
				} else {
					alert("ca marche pas ");
				}
			}	
	</script>
Dans cette pattern, je veux que mon champs contienne exclusivement des chiffres et le texte doit être du type :

-12
-123
-123.12
-12.02

Les champs du style :

-ahvbae
-123456
-18aelé=)

Doivent renvoyé une erreur.

Problème: Pour détecter les caractères cela fonctionne mais pour le nombre de chiffre tapé (ici 3 autorisés), cela ne fonctionne pas !! (il dit " Ca marche" et non le contraire ...)

Auriez vous une idée ?

Merci pour vos réponses !!!