Bonjour il y a 4 ans, javatwister m'a écrit le script suivant pour vérifier la validité d'un n° de TVA en Belgique:
Le script ci-dessus répondait à la demande suivante: le numéro de TVA commence par 0 et est en 10 chiffes.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <script> document.getElementById("f").addEventListener("submit",function(e){ const ch=e.target["tva"].value,// le champ tva ch2=parseInt(ch.slice(1,8));// le champ tva sans le début et la fin if(!/^0\d{9}$/.test(ch) || 97-(ch2-(parseInt(ch2/97)*97))!=parseInt(ch.slice(8))){// le test alert("<%=(getMsg(154,WrongVAT))%>"); e.preventDefault();// empêche la soumission du formulaire } }) </script>
Pour vérifier la validité on laisse tomber le premier chiffre (0) et les deux derniers.
Exemple:
0472968436
4729684 / 97 = 48759,628
48759 * 97 = 4729623
4729684 - 4729623 = 61
97 - 61 = 36
Cqfd.
La donne a un peu changé.
Maintenant, le numéro de TVA peut commencer par 1.
La méthode de vérification reste inchangée, sauf que maintenant, il faut considérer le premier chiffre (1 ou 0).
Exemple:
1003345828
10033458 / 97 = 103437
1034397 * 97 = 10033389
10033458 -- 10033389 = 69
97 - 69 = 28
Cqfd
Comment dois-je modifier le script ci-dessous pour l'adapter à la nouvelle situation ?
Merci d'avance pour votre aide.
Partager