处理标准化数字和代码的python模块
python-stdnum的Python项目详细描述
用于解析、验证和重新格式化标准数字和代码的python模块 以不同的格式。它包含大量数字格式的集合。
基本上是任何有一些验证机制的数字或代码 或者某些通用格式可以包含在此库中。
https://arthurdejong.org/python-stdnum/
可用格式
目前,此软件包支持以下格式:
- NIPT (Numri i Identifikimit për Personin e Tatueshëm, Albanian VAT number)
- CBU (Clave Bancaria Uniforme, Argentine bank account number)
- CUIT (Código Único de Identificación Tributaria, Argentinian tax number)
- DNI (Documento Nacional de Identidad, Argentinian national identity nr.)
- Austrian Company Register Numbers
- Postleitzahl (Austrian postal code)
- Abgabenkontonummer (Austrian tax identification number)
- UID (Umsatzsteuer-Identifikationsnummer, Austrian VAT number)
- VNR, SVNR, VSNR (Versicherungsnummer, Austrian social security number)
- ABN (Australian Business Number)
- ACN (Australian Company Number)
- TFN (Australian Tax File Number)
- Belgian IBAN (International Bank Account Number)
- BTW, TVA, NWSt, ondernemingsnummer (Belgian enterprise number)
- EGN (ЕГН, Единен граждански номер, Bulgarian personal identity codes)
- PNF (ЛНЧ, Личен номер на чужденец, Bulgarian number of a foreigner)
- VAT (Идентификационен номер по ДДС, Bulgarian VAT number)
- BIC (ISO 9362 Business identifier codes)
- Bitcoin address
- CNPJ (Cadastro Nacional da Pessoa Jurídica, Brazillian company identifier)
- CPF (Cadastro de Pessoas Físicas, Brazillian national identifier)
- BN (Canadian Business Number)
- SIN (Canadian Social Insurance Number)
- CAS RN (Chemical Abstracts Service Registry Number)
- Swiss social security number (“Sozialversicherungsnummer”)
- UID (Unternehmens-Identifikationsnummer, Swiss business identifier)
- VAT, MWST, TVA, IVA, TPV (Mehrwertsteuernummer, the Swiss VAT number)
- RUT (Rol Único Tributario, Chilean national tax number)
- RIC No. (Chinese Resident Identity Card Number)
- NIT (Número De Identificación Tributaria, Colombian identity code)
- NI (Número de identidad, Cuban identity card numbers)
- CUSIP number (financial security identification number)
- Αριθμός Εγγραφής Φ.Π.Α. (Cypriot VAT number)
- DIČ (Daňové identifikační číslo, Czech VAT number)
- RČ (Rodné číslo, the Czech birth number)
- Handelsregisternummer (German company register number)
- IdNr (Steuerliche Identifikationsnummer, German personal tax number)
- St.-Nr. (Steuernummer, German tax number)
- Ust ID Nr. (Umsatzsteur Identifikationnummer, German VAT number)
- Wertpapierkennnummer (German securities identification code)
- CPR (personnummer, the Danish citizen number)
- CVR (Momsregistreringsnummer, Danish VAT number)
- Cedula (Dominican Republic national identification number)
- NCF (Números de Comprobante Fiscal, Dominican Republic receipt number)
- RNC (Registro Nacional del Contribuyente, Dominican Republic tax number)
- EAN (International Article Number)
- CI (Cédula de identidad, Ecuadorian personal identity code)
- RUC (Registro Único de Contribuyentes, Ecuadorian company tax number)
- Isikukood (Estonian Personcal ID number)
- KMKR (Käibemaksukohuslase, Estonian VAT number)
- Registrikood (Estonian organisation registration code)
- CCC (Código Cuenta Corriente, Spanish Bank Account Code)
- CIF (Certificado de Identificación Fiscal, Spanish company tax number)
- CUPS (Código Unificado de Punto de Suministro, Supply Point Unified Code)
- DNI (Documento nacional de identidad, Spanish personal identity codes)
- Spanish IBAN (International Bank Account Number)
- NIE (Número de Identificación de Extranjeros, Spanish foreigner number)
- NIF (Número de Identificación Fiscal, Spanish VAT number)
- Referencia Catastral (Spanish real estate property id)
- SEPA Identifier of the Creditor (AT-02)
- Euro banknote serial numbers
- EIC (European Energy Identification Code)
- NACE (classification for businesses in the European Union)
- VAT (European Union VAT number)
- ALV nro (Arvonlisäveronumero, Finnish VAT number)
- Finnish Association Identifier
- HETU (Henkilötunnus, Finnish personal identity code)
- Veronumero (Finnish individual tax number)
- Y-tunnus (Finnish business identifier)
- FIGI (Financial Instrument Global Identifier)
- NIF (Numéro d’Immatriculation Fiscale, French tax identification number)
- NIR (French personal identification number)
- SIREN (a French company identification number)
- SIRET (a French company establishment identification number)
- n° TVA (taxe sur la valeur ajoutée, French VAT number)
- NHS (United Kingdom National Health Service patient identifier)
- SEDOL number (Stock Exchange Daily Official List number)
- UPN (English Unique Pupil Number)
- VAT (United Kingdom (and Isle of Man) VAT registration number)
- AMKA (Αριθμός Μητρώου Κοινωνικής Ασφάλισης, Greek social security number)
- FPA, ΦΠΑ, ΑΦΜ (Αριθμός Φορολογικού Μητρώου, the Greek VAT number)
- GRid (Global Release Identifier)
- OIB (Osobni identifikacijski broj, Croatian identification number)
- ANUM (Közösségi adószám, Hungarian VAT number)
- IBAN (International Bank Account Number)
- PPS No (Personal Public Service Number, Irish personal number)
- VAT (Irish tax reference number)
- IMEI (International Mobile Equipment Identity)
- IMO number (International Maritime Organization number)
- IMSI (International Mobile Subscriber Identity)
- Aadhaar (Indian digital resident personal identity number)
- PAN (Permanent Account Number, Indian income tax identifier)
- Kennitala (Icelandic personal and organisation identity code)
- VSK number (Virðisaukaskattsnúmer, Icelandic VAT number)
- ISAN (International Standard Audiovisual Number)
- ISBN (International Standard Book Number)
- ISIL (International Standard Identifier for Libraries)
- ISIN (International Securities Identification Number)
- ISMN (International Standard Music Number)
- ISO 11649 (Structured Creditor Reference)
- ISO 6346 (International standard for container identification)
- ISSN (International Standard Serial Number)
- Codice Fiscale (Italian tax code for individuals)
- Partita IVA (Italian VAT number)
- LEI (Legal Entity Identifier)
- Asmens kodas (Lithuanian, personal numbers)
- PVM (Pridėtinės vertės mokestis mokėtojo kodas, Lithuanian VAT number)
- TVA (taxe sur la valeur ajoutée, Luxembourgian VAT number)
- PVN (Pievienotās vērtības nodokļa, Latvian VAT number)
- MAC address (Media Access Control address)
- n° TVA (taxe sur la valeur ajoutée, Monacan VAT number)
- IDNO (Moldavian company identification number)
- Montenegro IBAN (International Bank Account Number)
- MEID (Mobile Equipment Identifier)
- VAT (Maltese VAT number)
- ID number (Mauritian national identifier)
- CURP (Clave Única de Registro de Población, Mexican personal ID)
- RFC (Registro Federal de Contribuyentes, Mexican tax number)
- NRIC No. (Malaysian National Registration Identity Card Number)
- BRIN number (the Dutch school identification number)
- BSN (Burgerservicenummer, the Dutch citizen identification number)
- Btw-nummer (Omzetbelastingnummer, the Dutch VAT number)
- Onderwijsnummer (the Dutch student identification number)
- Postcode (the Dutch postal code)
- Fødselsnummer (Norwegian birth number, the national identity number)
- Norwegian IBAN (International Bank Account Number)
- Konto nr. (Norwegian bank account number)
- MVA (Merverdiavgift, Norwegian VAT number)
- Orgnr (Organisasjonsnummer, Norwegian organisation number)
- New Zealand bank account number
- NIP (Numer Identyfikacji Podatkowej, Polish VAT number)
- PESEL (Polish national identification number)
- REGON (Rejestr Gospodarki Narodowej, Polish register of economic units)
- NIF (Número de identificação fiscal, Portuguese VAT number)
- CF (Cod de înregistrare în scopuri de TVA, Romanian VAT number)
- CNP (Cod Numeric Personal, Romanian Numerical Personal Code)
- PIB (Poreski Identifikacioni Broj, Serbian tax identification number)
- ИНН (Идентификационный номер налогоплательщика, Russian tax identifier)
- Orgnr (Organisationsnummer, Swedish company number)
- Personnummer (Swedish personal identity number)
- VAT (Moms, Mervärdesskatt, Swedish VAT number)
- ID za DDV (Davčna številka, Slovenian VAT number)
- IČ DPH (IČ pre daň z pridanej hodnoty, Slovak VAT number)
- RČ (Rodné číslo, the Slovak birth number)
- COE (Codice operatore economico, San Marino national tax number)
- T.C. Kimlik No. (Turkish personal identification number)
- ATIN (U.S. Adoption Taxpayer Identification Number)
- EIN (U.S. Employer Identification Number)
- ITIN (U.S. Individual Taxpayer Identification Number)
- PTIN (U.S. Preparer Tax Identification Number)
- RTN (Routing transport number)
- SSN (U.S. Social Security Number)
- TIN (U.S. Taxpayer Identification Number)
此外,还提供了一些通用校验位算法:
- the Verhoeff algorithm
- the Damm algorithm
- the Luhn and Luhn mod N algorithms
- some algorithms described in ISO/IEC 7064: Mod 11, 2, Mod 37, 2, Mod 97, 10, Mod 11, 10 and Mod 37, 36
基本上是任何有一些验证机制的数字或代码 或者某些通用格式可以包含在此库中。
这些模块通常不提供有关含义的背景信息 使用指定的数字,只解析和处理函数。
接口
所有模块实现一个公共接口。例如,对于ISBN验证:
>>> from stdnum import isbn >>> isbn.validate('978-9024538270') '9789024538270' >>> isbn.validate('978-9024538271') Traceback (most recent call last): ... InvalidChecksum: ...
这些模块大多实现以下功能:
validate()
- validate the correctness of the passed number and return a compact representation of the number invalid numbers are rejected with one of the exceptions from the stdnum.exceptions module
compact()
return a compact representation of the number or code this function generally does not do validation but may raise exceptions for wildly incorrect numbersformat()
return a formatted version of the number in the preferred format this function generally expects to be passed a valid number or code
除上述之外,该模块还可以添加额外的解析、验证或 转换函数。
要求
模块不需要任何外部python模块,应该是纯的 Python。这些模块是用Python2.7和3.6开发和测试的,但是 也可以使用较旧版本的python。
版权所有
版权所有(c)2010-2019 Arthur de Jong等人
这个库是免费软件;您可以重新分发它和/或 根据GNU小公众条款修改 自由软件基金会发布的许可证; 许可证的2.1版,或(由您选择)任何更高版本。
这个图书馆的发行是希望它能有用, 但没有任何保证;甚至没有 适销性或适合某一特定目的的适销性。看GNU 更详细的信息,请参阅较低的通用公共许可证。
你应该收到一份GNU的副本 许可证与此库一起;如果没有,则写入免费软件 马萨诸塞州波士顿富兰克林街51号5楼基金会公司 02110-1301美国
反馈和错误报告
如果您对python stdnum有任何疑问,请报告一个错误 或请求添加格式请发送电子邮件至 <;python-stdnum-users@lists.arthurdejong.org>; 补丁和代码贡献是非常受欢迎的。