Bonsoir,

Le but de la regex à créer est de matcher les nombres avec au plus deux chiffres entiers et au plus 4 chiffres décimaux (séparateur décimal pouvant être une , ou .)
Voici un code minimaliste :

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
18
19
20
21
22
23
24
25
26
27
28
29
 
<script>
 
function check(rate) {
	alert(rate);
	var reg2 = new RegExp("^(\\d{1,2})(\.|,)(\\d{1,4})$");
	if (!reg2.test(rate)) {
		alert('ko');
	}
	else {
		alert('ok');
	}
}
 
</script>
 
<html>
 
<ul>
<li><a href="javascript:check('10.33');">10.33</a></li>
<li><a href="javascript:check('10,34');">10,34</a></li>
<li><a href="javascript:check('10.');">10.</a></li>
<li><a href="javascript:check('10,');">10,</a></li>
<li><a href="javascript:check(',');">,</a></li>
<li><a href="javascript:check('.');">.</a></li>
<li><a href="javascript:check('100');">100</a></li>
<ul>
 
</html>
Je ne comprends pas pourquoi 100 est considérer comme correct avec la regexp employée (les autres exemples sont corrects). Merci de votre aide.