python-stdnum
这是一个Python库 ,旨在提供处理,解析和验证标准数字的函数。
该模块支持100多种不同的数字格式 ,其中包括大量增值税和其他税号,个人身份和公司识别码,国际标准号(ISBN,IBAN,EAN等)和各种其他格式。
该模块还包括Verhoeff,Luhn和ISO / IEC 7064校验位算法系列的实现。
1 | from stdnum import isbn |
简单的代码例子:
1 | from stdnum import luhn |
支持的格式
目前python-stdnum模块支持以下格式:
- NIPT(增值税识别号码,阿尔巴尼亚增值税号码)
- CBU(统一银行代码,阿根廷银行帐号)
- CUIT(独特税务识别代码,阿根廷税号)
- 奥地利公司注册号码
- 邮政编码(奥地利邮政编码)
- 税号(奥地利税号)
- UID(增值税识别号,奥地利增值税号)
- ABN(澳大利亚商业号码)
- ACN(澳大利亚公司编号)
- TFN(澳大利亚税务档案号码)
- 比利时IBAN(国际银行账号)
- VAT,TVA,NWSt,企业编号(比利时企业编号)
- EGN(个人识别号码,保加利亚个人识别码)
- PNF(PNH,外国人的个人号码,外国人的保加利亚号码)
- 增值税(保加利亚增值税号)
- BIC(ISO 9362商业识别码)
- CNPJ(国家商业注册,巴西公司标识符)
- 个人纳税人的身份证(CPF)(巴西国家标识符)
- BN(加拿大商业号码)
- SIN(加拿大社会保险号码)
- CAS RN(化学文摘服务注册号)
- 瑞士社会安全号码(“Sozialversicherungsnummer”)
- UID(公司标识号,瑞士商业标识符)
- 增值税,增值税,TVA,IVA,TPV(增值税号,瑞士增值税号)
- RUT(RolÚnicoTributario,智利国家税号)
- RIC号(中国居民身份证号码)
- NIT(税号,哥伦比亚身份证)
- CUSIP号码(财务安全识别号码)
- 增值税登记号码 (塞浦路斯增值税号)
- 税号(捷克增值税号)
- RČ(出生人数,捷克出生人数)
- Handelsregisternummer(德国公司注册号)
- IdNr(税号,德国个人税号)
- St.-Nr. (税号,德国税号)
- 增值税号码(销售税识别号码,德国增值税号码)
- Wertpapierkennnummer(德国证券识别码)
- CPR(personnummer,丹麦公民号码)
- CVR(增值税登记号码)
- Cedula(多米尼加共和国国民身份证号码)
- NCF(财政证明号码,多米尼加共和国收据号码)
- RNC(National Taxpayer Registry,多米尼加共和国税号)
- EAN(国际商品编号)
- CI(身份证,厄瓜多尔个人身份代码)
- RUC(独特纳税人登记处,厄瓜多尔公司税号)
- 个人识别码(爱沙尼亚个人识别号码)
- KMKR(增值税号,爱沙尼亚增值税号)
- 爱沙尼亚组织注册码
- CCC(经常账户代码,西班牙银行账户代码)
- CIF(税务证明书,西班牙公司税号)
- CUPS(统一供应点代码,供应点统一代码)
- DNI(国家身份证件,西班牙个人身份证)
- 西班牙IBAN(国际银行账号)
- NIE(外国人身份证号码,西班牙外国人号码)
- NIF(税号,西班牙增值税号)
- Referencia Catastral(西班牙房地产物业ID)
- SEPA的债权人标识符(AT-02)
- 欧元钞票序列号
- EIC(欧洲能源识别代码)
- NACE(欧盟企业分类)
- 增值税(欧盟增值税号)
- 增值税号(芬兰增值税号)
- 芬兰协会标识符
- HETU(个人身份号码)
- Veronumero(芬兰个人税号)
- 业务ID(芬兰业务标识符)
- FIGI(金融工具全球标识符)
- NIF(法国税务识别号码)
- NIR(法国个人识别号码)
- SIREN(法国公司识别号码)
- SIRET(法国公司设立识别号码)
- 增值税号(增值税,法国增值税号)
- NHS(英国国民健康服务患者标识符)
- SEDOL号码(证券交易所每日官方列表编号)
- UPN(英文独特的学生编号)
- 增值税(英国(和马恩岛)增值税登记号码)
- FPA,增值税,增值税(希腊增值税号)
- GRid(全球发布标识符)
- OIB(个人识别号码,克罗地亚身份证号码)
- ANUM(匈牙利增值税号)
- IBAN(国际银行账号)
- PPS否(个人公共服务号码,爱尔兰个人号码)
- 增值税(爱尔兰税号)
- IMEI(国际移动设备识别码)
- IMO号码(国际海事组织编号)
- IMSI(国际移动用户识别码)
- Aadhaar(印度数字居民个人身份号码)
- PAN(永久帐号,印度所得税标识符)
- Kennitala(冰岛个人和组织身份代码)
- 增值税号(增值税税)
- ISAN(国际标准视听号码)
- ISBN(国际标准书号)
- 伊黎伊斯兰国(图书馆的国际标准标识符)
- ISIN(国际证券识别号码)
- ISMN(国际标准音乐编号)
- ISO 6346(容器识别的国际标准)
- ISSN(国际标准序列号)
- 财政法典(个人意大利税法)
- 增值税号(意大利增值税号)
- LEI(法律实体标识符)
- 增值税(增值税纳税人代码,立陶宛增值税号)
- 增值税(增值税,卢森堡增值税号)
- 增值税(增值税,拉脱维亚增值税号)
- 增值税号(增值税,Monacan增值税号)
- 黑山IBAN(国际银行帐号)
- MEID(移动设备标识符)
- 增值税(马耳他增值税号)
- RFC(联邦纳税人登记处,墨西哥税号)
- 身份证号码(马来西亚国家登记身份证号码)
- 布林号码(学校荷兰语号码)
- BSN(国家公共服务号码,荷兰国家识别号码)
- 增值税号(销售税号,荷兰增值税号)
- 教育号码(荷兰学生学号)
- 邮政编码(荷兰邮政编码)
- 增值税(增值税,挪威增值税号)
- Orgnr(组织编号,挪威组织编号)
- NIP(税号,波兰增值税号)
- PESEL(波兰国家身份证号码)
- REGON(国民经济登记册,波兰经济单位登记册)
- NIF(税号,葡萄牙增值税号)
- CF(增值税登记号,罗马尼亚增值税号)
- CNP(Cod Numeric Personal,罗马尼亚数字个人密码)
- PIB(税号,塞尔维亚税号)
- 纳税人识别号码,俄罗斯税收识别码
- Orgnr(组织编号,瑞典公司编号)
- 增值税(增值税,增值税,瑞典增值税号)
- 增值税号(增值税号,斯洛文尼亚增值税号)
- 增值税号(增值税增值税,斯洛伐克增值税号)
- RČ(出生人数,斯洛伐克出生人数)
- COE(经济运营商代码,圣马力诺国家税号)
- TC Kimlik No.(土耳其个人识别号码)
- ATIN(美国收养纳税人识别号码)
- EIN(美国雇主识别号码)
- ITIN(美国个人纳税人识别号码)
- PTIN(美国编制者税务识别号码)
- RTN(路由传输号码)
- SSN(美国社会安全号码)
- TIN(美国纳税人识别号码)
此外,还提供了许多通用校验位算法:
- Verhoeff算法
- 达姆算法
- Luhn和Luhn mod N算法
- ISO / IEC 7064中描述的一些算法:Mod 11,2,Mod 37,2,Mod 97,10,Mod 11,10和Mod 37,36