How to resolve the algorithm Validate International Securities Identification Number step by step in the Elixir programming language

Published on 12 May 2024 09:40 PM

How to resolve the algorithm Validate International Securities Identification Number step by step in the Elixir programming language

Table of Contents

Problem Statement

An International Securities Identification Number (ISIN) is a unique international identifier for a financial security such as a stock or bond.

Write a function or program that takes a string as input, and checks whether it is a valid ISIN. It is only valid if it has the correct format,   and   the embedded checksum is correct. Demonstrate that your code passes the test-cases listed below.

The format of an ISIN is as follows:

For this task, you may assume that any 2-character alphabetic sequence is a valid country code. The checksum can be validated as follows:

(The comments are just informational.   Your function should simply return a Boolean result.   See #Raku for a reference solution.)

Related task:

Let's start with the solution:

Step by Step solution about How to resolve the algorithm Validate International Securities Identification Number step by step in the Elixir programming language

Source code in the elixir programming language

isin? = fn str ->
          if str =~ ~r/\A[A-Z]{2}[A-Z0-9]{9}\d\z/ do
            String.codepoints(str)
            |> Enum.map_join(&String.to_integer(&1, 36))
            |> Luhn.valid?
          else
            false
          end
        end

IO.puts "    ISIN        Valid?"
~w(US0378331005
   US0373831005
   U50378331005
   US03378331005
   AU0000XVGZA3
   AU0000VXGZA3
   FR0000988040)
|> Enum.each(&IO.puts "#{&1}\t#{isin?.(&1)}")


  

You may also check:How to resolve the algorithm Strip control codes and extended characters from a string step by step in the Peloton programming language
You may also check:How to resolve the algorithm Amicable pairs step by step in the Pascal programming language
You may also check:How to resolve the algorithm Chinese remainder theorem step by step in the Crystal programming language
You may also check:How to resolve the algorithm Repeat step by step in the V (Vlang) programming language
You may also check:How to resolve the algorithm Circles of given radius through two points step by step in the Action! programming language