我正在编写一个小应用程序,其中包含来自文件的不同输入(例如国家/地区代码、增值税号等),我必须验证增值税号的格式是否正确。
我试过这个: http://www.codeproject.com/KB/webservices/VATchecker.aspx - 它有效.. 但是,是的,总有一个但是 :-),我必须检查 100 - 500 增值税号码的任何地方,这太慢了。此外,我不确定他们是否会欣赏我这样重击他们的网站。
有人知道我可以在我的 C# 程序中构建离线 vat 验证器吗?
最佳答案
基于@Uwe Keim 的(过时的)答案,我使用以下规则制作了 2014 年的正则表达式:http://www.bzst.de/DE/Steuern_International/USt_Identifikationsnummer/Merkblaetter/Aufbau_USt_IdNr.html?nn=23440
AT ^ATU[A-Z0-9]{8,8}$
BE ^BE[0-9]{10,10}$
BG ^BG[0-9]{9,9}$|^BG[0-9]{10,10}$
CY ^CY[0-9]{8,8}[A-Z]{1,1}$
CZ ^CZ[0-9]{8,10}$
DE ^DE[0-9]{9,9}$
DK ^DK[0-9]{8,8}$
EE ^EE[0-9]{9,9}$
ES ^ES[A-Z0-9]{1,1}[0-9]{7,7}[A-Z0-9]{1,1}$
FI ^FI[0-9]{8,8}$
FR ^FR[A-Z0-9]{2,2}[0-9]{9,9}$
GB ^GB[0-9]{9,9}$|^GB[0-9]{12,12}$|^GBGD[0-9]{3,3}$|^GBHA[0-9]{3,3}$
HU ^HU[0-9]{8,8}$
IE ^IE[0-9]{1,1}[A-Z0-9]{1,1}[0-9]{5,5}[A-Z]{1,1}$|^IE[0-9]{7,7}[A-W]{1,1}[A-I]{1,1}$
IT ^IT[0-9]{11,11}$
LT ^LT[0-9]{9,9}$|^LT[0-9]{12,12}$
LU ^LU[0-9]{8,8}$
LV ^LV[0-9]{11,11}$
MT ^MT[0-9]{8,8}$
NL ^NL[A-Z0-9]{9,9}B[A-Z0-9]{2,2}$
PL ^PL[0-9]{10,10}$
PT ^PT[0-9]{9,9}$
SE ^SE[0-9]{10,10}01$
SI ^SI[0-9]{8,8}$
SK ^SK[0-9]{10,10}$
RO ^RO[1-9]{1,1}[0-9]{1,9}$
EL ^EL[0-9]{9,9}$
HR ^HR[0-9]{11,11}$
可能有人需要它。
关于c# - 离线验证增值税号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3599182/