c# - 离线验证增值税号

标签 c# validation

我正在编写一个小应用程序,其中包含来自文件的不同输入(例如国家/地区代码、增值税号等),我必须验证增值税号的格式是否正确。

我试过这个: 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/

相关文章:

C# 泛型类定义与 inerited 类语法错误

java - 验证多个 edittext 并显示 edittext.setError ("String");

java - 在 Struts2 中使用 prepare() 方法在 action 类中执行 CRUD 操作

php - Laravel 5.6 $this->validate vs Validator::make()

jquery - ASP.NET MVC 远程验证钩子(Hook)方法

C# - 通过 Process.Start 使用计划任务

c# - 将数据表中的多行连接到数组中

c# - 在 Crystal Report 中分配 DataSource 时发生 FileNotFoundException

c# - List.Except 不起作用

javascript - jquery验证后的ajax请求