首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >离线验证增值税编号

离线验证增值税编号
EN

Stack Overflow用户
提问于 2010-08-30 17:19:02
回答 6查看 7.8K关注 0票数 10

我正在写一个小应用程序与不同的输入文件(如国家代码,增值税号码等),我必须验证增值税号码是正确的格式。

我试过这个:http://www.codeproject.com/KB/webservices/VATchecker.aspx --而且还能用..但是,是的,总是有一个但是:-),我必须检查从100到500的增值税号码,它太慢了。再说了,我不确定他们会不会喜欢我那样敲打他们的网站。

有没有人知道我可以在C#程序中内置一个离线vat验证器?

EN

回答 6

Stack Overflow用户

发布于 2014-10-17 19:28:07

基于@Uwe Keim的(过时的)答案,我用这些规则制定了2014年的正则表达式:http://www.bzst.de/DE/Steuern_International/USt_Identifikationsnummer/Merkblaetter/Aufbau_USt_IdNr.html?nn=23440

代码语言:javascript
复制
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}$ 

可能会有人需要它。

票数 11
EN

Stack Overflow用户

发布于 2011-12-18 00:44:04

在我们的在线商店中,我正在做类似于代码项目文章中的解决方案。

在将其提交给web服务之前,我做了一个小的正则表达式健全性检查,以过滤掉“语法上”错误的VAT,从而减少了我必须执行的SOAP调用的数量。

这是我用来存储正则表达式的表的摘录,如果你计划做类似的事情,这可能会对你有所帮助:

代码语言:javascript
复制
Code2    VatIDRegex
----------------------------------------------------------
at       ^ATU[A-Z0-9]{8,8}$
be       ^BE[0-9]{9,9}$
cy       ^CY[0-9]{9,9}$
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}$
hu       ^HU[0-9]{8,8}$
ie       ^IE[A-Z0-9]{8,8}$
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]{12,12}$
si       ^SI[0-9]{8,8}$
sk       ^SK[0-9]{10,10}$
票数 9
EN

Stack Overflow用户

发布于 2012-09-05 21:54:13

你可以试试这个http://code.google.com/p/vat-validation/,它还在开发中,但是已经有了几乎所有欧盟国家的代码。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3599182

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档