Methods in various programming languages to validate Croatian identification number called OIB

Related tags

GUI oib-validation
Overview

OIB validation

[ENG] Methods in various programming languages to validate Croatian identification number called OIB. More info on www.oib.hr.

Provjera valjanosti OIB-a

Metode u različitim programskim jezicima za provjeru hrvatskog identifikacijskog broja zvanog OIB.

Što je OIB?

OIB je obavezan u poslovnoj korespodenciji od 1.1.2010. godine, a dodijeljen je privatnim i pravnim osobama te ima cilj zamijeniti JMBG odnosno MB.

U sve više projekata susrećemo se s potrebom za unosom ovog broja, a kako nismo uspjeli pronaći rješenje za njegovu validaciju, stvorili smo vlastitu funkciju za provjeru. Algoritam je vrlo jednostavan, no čemu da se sami mučite kad ga možete ovdje preuzeti besplatno. Provjera se temelji na standardu ISO7064, MOD 11,10.

Objašnjenje

OIB mora imati 11 znamenaka s time da je zadnja znamenka kontrolna. OIB se provjerava na temelju te zadnje znamenke. S obzirom da se OIB dodjeljuje slučajnim odabirom prvih deset znamenaka, moguće je da sintaksa broja bude ispravna, no da broj nije dodjeljen niti jednoj pravnoj niti fizičkoj osobi.

Ukoliko netko ima volje napisati funkcije u drugim jezicima, slobodno napravite pull request ili mi pošaljite na mejl. Ako radite pull request, molim da kreirate direktorij s nazivom jezika i u njemu stavite datoteku koja se zove "oib-validator.ext" gdje je ".ext" ekstenzija tipična za taj programski jezik (ili, ako je nema, koristite ".txt").

Sve funkcije, servisi i objašnjenja su dana u najboljoj namjeri, no ne odgovaramo za eventualne probleme proizašle iz njihovog korištenja.

Više informacija o OIB-u možete pronaći na stranici www.oib.hr.

Popis kontributora

Ova stranica je godinama bila smještena na www.dizzy.hr/oib, u listopadu 2013. je preseljena na blog domagoj.eu/oib, a sad je smještena tamo gdje i pripada - na GitHub.

Osobe zaslužne za pojedine verzije su:

  • ActionScript - Tomislav Pokrajcic, Binaria
  • ASP - Zvonimir Lokmer, Sinnoa
  • C - Damir Džeko, HZZO
  • C# - Domagoj Pavlešić, dizzy.hr
  • Clipper - Predrag Suvajdžić
  • CPP/CLI - Mark Burazin, Tahoma
  • Delphi/Pascal - Ivica Makaj, Victory
  • Excel - Marko Rakar, Mrak.org
  • F# - Boris Ševo
  • Java - Jakov Kondža, Konit
  • JavaScript - Domagoj Pavlešić, dizzy.hr
  • Objective C - Marjan Patača, info
  • Perl - Damir Džeko, HZZO
  • PHP - Zvonimir Lokmer, Sinnoa
  • PL/SQL - Robert
  • Python - Željko Kutlić, 3 Ka d.o.o.
  • Ruby - Saša Jurić, Minus5
  • SQL - Marko Frntić, Monachus Informatika
  • Swift 4.2 - Tomislav Jakopec, FFOS
  • VBA macro for Office - Damir Džeko, HZZO
  • Visual Basic - Toni Alfirević, Perpetuum Mobile
You might also like...

Rock, paper, scissors- shoot!, in 10 programming languages

Rock Paper Scissors In 10 Programming Languages The classic "rock, paper, scissors- shoot!" game, implemented in 10 programming languages Language Lin

Oct 8, 2022

vʌvr (formerly called Javaslang) is a non-commercial, non-profit object-functional library that runs with Java 8+. It aims to reduce the lines of code and increase code quality.

vʌvr (formerly called Javaslang) is a non-commercial, non-profit object-functional library that runs with Java 8+. It aims to reduce the lines of code and increase code quality.

Vavr is an object-functional language extension to Java 8, which aims to reduce the lines of code and increase code quality. It provides persistent co

Jan 3, 2023

The respository of a student group called 'Bombenstimmung' at the University of Wuppertal during the SWT-Praktikum 2021/22

Bomberfrau The respository of a student group called 'Bombenstimmung' at the University of Wuppertal during the SWT-Praktikum 2021/22 Installation: Vo

Jan 10, 2022

In this project, we will implement two Spring Boot Java Web application called, streamer-data-jpa and streamer-data-r2dbc.

In this project, we will implement two Spring Boot Java Web application called, streamer-data-jpa and streamer-data-r2dbc.

In this project, we will implement two Spring Boot Java Web application called, streamer-data-jpa and streamer-data-r2dbc. They both will fetch 1 million of customer's data from MySQL and stream them to Kafka. The main goal is to compare the application's performance and resource utilization.

Nov 2, 2022

A pure-Java Markdown processor based on a parboiled PEG parser supporting a number of extensions

: DEPRECATION NOTE : Although still one of the most popular Markdown parsing libraries for the JVM, pegdown has reached its end of life. The pro

Nov 24, 2022

Coffee Shops User Register Validate with MERNIS

Coffee Shops User Register Validate with MERNIS

Coffee Shops Project Coffee Shops User Register Validate with MERNIS Kahve firmaları için veritabanlarına müşteri kaydederken e-devlet üzerinden sunul

May 23, 2022

Spring boot application to display number of corona cases

Corona-Cases-Counter Spring boot application to display number of corona cases This application consumes data from a CSV file which was used to docume

Aug 29, 2021

Program finds average number of words in each comment given a large data set by use of hadoop's map reduce to work in parallel efficiently.

Program finds average number of words in each comment given a large data set by use of hadoop's map reduce to work in parallel efficiently.

Finding average number of words in all the comments in a data set 📝 Mapper Function In the mapper function we first tokenize entire data and then fin

Aug 23, 2021

A library to create, read and validate ZUGFeRD compliant invoices. Available for Java and .NET

Konik ZUGFeRD Library Is an easy to use open source implementation of the ZUGFeRD data model including various enhancements. Features Easy and underst

Dec 20, 2022

Assistant to create, update and validate Modget manifests

Modget Create This tool helps to create Modget Manifests, which is used by the mod Modget. Modget Create (or MGC for short) is NOT perfect, but will a

Aug 13, 2022

A simple FizzBuzz playing program which will count up to a number of your choice.

FizzBuzz A simple program which plays FizzBuzz up to a number of your choice. For those who don't know how FizzBuzz works, you count up from 1, but: E

Sep 15, 2022

Add a Validate Thread Group button to the JMeter toolbar.

Add a Validate Thread Group button to the JMeter toolbar.

🚀 Validate Thread Group button Add a Validate Thread Group(s) button to the JMeter toolbar. 🌟 Why do we need this? Often when we debug our JMeter te

Nov 16, 2022

Benchmark testing number reading/writing in Java.

double-reader-writer Benchmark testing number reading/writing in Java. Relates to FasterXML/jackson-core#577 So far, FastDoubleParser looks useful if

Apr 12, 2022

JSON Web Token implementation for Java according to RFC 7519. Easily create, parse and validate JSON Web Tokens using a fluent API.

JWT-Java JSON Web Token library for Java according to RFC 7519. Table of Contents What are JSON Web Tokens? Header Payload Signature Features Supporte

Jul 10, 2022

Programming Services and Processes - 04 Secure Programming Techniques

Programming Services and Processes - 04 Secure Programming Techniques

Programación de Servicios y Procesos - 04 Técnicas de Programación Segura Tema 04. Técnicas de Programación segura. Curso 2021/2022. Contenidos Introd

Dec 27, 2022

Java-Programs---For-Practice is one of the Java Programming Practice Series By Shaikh Minhaj ( minhaj-313 ). This Series will help you to level up your Programming Skills. This Java Programs are very much helpful for Beginners.

Java-Programs---For-Practice is one of the Java Programming Practice Series By Shaikh Minhaj ( minhaj-313 ).  This Series will help you to level up your Programming Skills. This Java Programs are very much helpful for Beginners.

Java-Programs---For-Practice is one of the Java Programming Practice Series By Shaikh Minhaj ( minhaj-313 ). This Series will help you to level up your Programming Skills. This Java Programs are very much helpful for Beginners. If You Have any doubt or query you can ask me here or you can also ask me on My LinkedIn Profile

Nov 8, 2022
Comments
  • Popravio Python check_oib

    Popravio Python check_oib

    Funkcija check_oib za Python nije bila točna.

    Primjer OIB-a koji NISU pravilni, a funkcija vraća da JESU: 2000126401, 2000126410, 2000126428

    Greška je bila to što se je koristila zfill funkcija (što je potpuno bespotrebno) koja će od broja, na primjer za broj 2000126401, napraviti 02000126401 što na kraju izađe kao pravilan OIB ali mi trebamo provjeriti 2000126401, a ne 02000126401.

    Kad sam već tu promjenio sam imena magičnih varijabli.

    opened by albertopoljak 0
  • new java, optimize, test

    new java, optimize, test

    1. Dodao statuse za različite vrste grešaka. Ostavio i dalje staru jednostavnu metodu koja samo vraća true/false.
    2. Promijenio naziv source datoteke i klase da odražava pravila imenovanja u Javi
    3. Malko optimizirao (3 puta brže)
    4. Dodao jednostavni test, bez JUnita radi dependencyja.
    opened by asmolcic 0
  • Replace code with working one

    Replace code with working one

    No need to wrap tryParse in try as long as the value provided is not null, which we've covered in the first clause. Moreover, code doesn't actually check whether a number is provided as int.tryParse(oib.substring(i, i + 1)) ?? 0 returns 0 if value is not numerical. Function name was in English and variables were in Croatian, among other issues with their names.

    opened by ljmatan 0
  • JS validator has an assignment to a const

    JS validator has an assignment to a const

    https://github.com/domagojpa/oib-validation/blob/5156856151501c98fbe54de3dd007c6c3b147799/JavaScript/oib-validation.js#L27

    Assignment to a constant variable.

    Here is control OIB: 69435151530

    opened by Nodios 1
Owner
Domagoj
Domagoj
Implementation of ImageView for Android that supports zooming, by various touch gestures.

PhotoView PhotoView aims to help produce an easily usable implementation of a zooming Android ImageView. [ Dependency Add this in your root build.grad

Baseflow 18.4k Dec 30, 2022
Functional Reactive Programming (FRP) for JavaFX

ReduxFX Functional Reactive Programming (FRP) for JavaFX ReduxFX in 1 minute ReduxFX is a set of libraries that enable you to use functional reactive

Michael Heinrichs 108 Oct 16, 2022
The place to come for pair programming practice problems in your language, designed for new and old developers alike.

Coding Dojo About The Coding Dojo is a project and weekly meetup hosted by Code Connector to offer opportunities for learning, mentoring, and practici

Code Connector 55 Nov 18, 2022
A demo application to learn and explore all topic of Programming in Java Course.

Kakshya RMS A simple Java lab-work for the class of 'Programming in Java' Explore the docs » View Demo · Report Bug · Request Feature Table of Content

Bikram Parajuli 16 Jun 8, 2022
A GUI-based file manager based on a Java file management and I/O framework using object-oriented programming ideas.

FileManager A GUI-based file manager based on a Java file management and I/O framework using object-oriented programming ideas. Enables folder creatio

Zongyu Wu 4 Feb 7, 2022
💥 Crasher - open source dump/crash server for different programming languages (used for crash analysis in various applications)

Crashser Crasher - open source dump/crash server for different programming languages (used for crash analysis in various applications). Supported lang

Balun Vladimir 14 Oct 6, 2022
Numerical-methods-using-java - Source Code for 'Numerical Methods Using Java' by Haksun Li

Apress Source Code This repository accompanies Numerical Methods Using Java by Haksun Li (Apress, 2022). Download the files as a zip using the green b

Apress 5 Nov 20, 2022
Official React Native client for FingerprintJS PRO. 100% accurate device identification for fraud detection.

FingerprintJS PRO React Native Official React Native module for 100% accurate device identification, created for the FingerprintJS Pro Server API. Thi

FingerprintJS 26 Nov 22, 2022
Benchmarks different programming languages

Benchmarker Runs a prime finding algorithm on 5 different languages to determine their performance. Installation Run $ git clone https://github.com/as

Jonathan Asplund 2 Mar 22, 2022