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 :
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.
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>
Partager