FAQ |
Kalender |
![]() |
#1 | |||
|
||||
Supermoderator
|
Har roat mig ikväll med att undersöka hur de olika medlemsländernas momsregistreringsnummer ser ut, även kallat VATIN (Value Added Tax Identification Number) för att sedan skapa regular expressions för att kunna kontrollera om ett inmatat VATIN är korrekt eller ej. En lista över utformningen av momsregistreringsnummer för respektive medlemsland hittade jag på EUs hemsida och dessa regex bygger på dessa och förutsätter att dessa är korrekta.
Jag har inte testat alla och en del går kanske att korta ner något men för mig är det av mindre betydelse att ha optimerade regex. För vissa länder ställer kanske dessa regex för stora krav på användaren när han fyller i informationen. Exempelvis har vissa länder så som Storbritannien och Danmark uppdelade block av siffror och regex förutsätter att mellanslagen är på med och på rätt ställe. Oavsett så hoppas jag att detta kan vara till nytta för någon. Själv ska jag använda detta som en första validering innan jag skickar en förfrågan till EUs script för att kontrollera om VATIN verkligen existerar. Listan: Austria = /^ATU[0-9]{8}$/ Belgium = /^BE[0]{0,1}[0-9]{9}$/ Bulgaria = /^BG[0-9]{9,10}$/ Cyprus = /^CY[0-9]{8}[a-zA-Z]{1}$/ Czech Republic = /^CZ[0-9]{8,10}$/ Denmark = /^DK\d\d \d\d \d\d \d\d$/ Estonia = /^EE[0-9]{9}$/ Finland = /^FI[0-9]{8}$/ France = /^FR[a-zA-Z0-9]{2} [0-9]{9}$/ Germany = /^DE[0-9]{9}$/ Greece = /^EL[0-9]{9}$/ Hungary = /^HU[0-9]{8}$/ Ireland = /^IE\d[a-zA-Z0-9+*][0-9]{5}[a-zA-Z]$/ Italy = /^IT[0-9]{11}$/ Latvia = /^LV[0-9]{11}$/ Lithuania = /^LT([0-9]{9}|[0-9]{12})$/ Luxembourg = /^LU[0-9]{8}$/ Malta = /^MT[0-9]{8}$/ Netherlands = /^NL[0-9]{9}B\d\d$/ Poland = /^PL[0-9]{10}$/ Portugal = /^PT[0-9]{9}$/ Romania = /^RO[0-9]{2,10}$/ Slovakia = /^SK[0-9]{10}$/ Slovenia = /^SI[0-9]{8}$/ Spain = /^ES[a-zA-Z0-9][0-9]{7}[a-zA-Z0-9]$/ Sweden = /^SE[0-9]{12}$/ United Kingdom = /^GB(\d\d\d \d\d\d\d \d\d|\d\d\d \d\d\d\d \d\d \d\d\d|(GD|HA)\d\d\d)$/ |
|||
![]() |
![]() |
|
|