处理标准化数字和代码的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 numbers
  • format() 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。

反馈和错误报告

如果您对python stdnum有任何疑问,请报告一个错误 或请求添加格式请发送电子邮件至 <;python-stdnum-users@lists.arthurdejong.org>; 补丁和代码贡献是非常受欢迎的。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何使用JNA创建同一库的多个实例?   java在将Graphql查询作为JSON字符串传递时收到意外的令牌错误   OAuth2 oltu的java问题   java桌面应用程序使用的好的嵌入式数据库是什么?   java Firebase数据库高级查询选项   java正在使磁盘上的EhCache元素过期   java 安卓还原处于backstack中的片段的实例状态   XMemcached中的java异步集   java TimescaleDB是否使用与Postgresql完全相同的JDBC驱动程序?   java从网站c读取信息#   检查java Android中的字符串是否只包含数字和空格   c#如何向web服务发送特殊字符?   grails无法调用需要java的方法。lang.类参数?   java我在组合框中调用的方法不会运行所有代码,它只运行部分代码   java发送带有标头的HTTP GET请求