CASE: check if Belgian IBAN number is valid

In order to check whether an IBAN Number is valid, we can use the following liquid code to perform the modulo 97 calculation:

{% comment %}IBAN Checker Example{% endcomment %}

{% capture iban_check %}

{% assign iban_pre = custom.iban.number | remove:'.' | remove:" " | slice:0,4 %}
{% assign iban_post = custom.iban.number | remove:'.' | remove:" " | slice:4,12 %}
{% assign iban = iban_post | append:iban_pre %}

{{ iban }}

{% assign iban_only_numbers = '' %}
{% assign iban = iban | split:"" %}

{% for char in iban %}

{% case char %}
{% when 'A'	%}
  {% assign variable = 65-55 %}
{% when 'B'	%}
  {% assign variable = 66-55 %}
{% when 'C'	%}
  {% assign variable = 67-55 %}
{% when 'D'	%}
  {% assign variable = 68-55 %}
{% when 'E'	%}
  {% assign variable = 69-55 %}
{% when 'F'	%}
  {% assign variable = 70-55 %}
{% when 'G'	%}
  {% assign variable = 71-55 %}
{% when 'H'	%}
  {% assign variable = 72-55 %}
{% when 'I'	%}
  {% assign variable = 73-55 %}
{% when 'J'	%}
  {% assign variable = 74-55 %}
{% when 'K'	%}
  {% assign variable = 75-55 %}
{% when 'L'	%}
  {% assign variable = 76-55 %}
{% when 'M'	%}
  {% assign variable = 77-55 %}
{% when 'N'	%}
  {% assign variable = 78-55 %}
{% when 'O'	%}
  {% assign variable = 79-55 %}
{% when 'P'	%}
  {% assign variable = 80-55 %}
{% when 'Q'	%}
  {% assign variable = 81-55 %}
{% when 'R'	%}
  {% assign variable = 82-55 %}
{% when 'S'	%}
  {% assign variable = 83-55 %}
{% when 'T'	%}
  {% assign variable = 84-55 %}
{% when 'U'	%}
  {% assign variable = 85-55 %}
{% when 'V'	%}
  {% assign variable = 86-55 %}
{% when 'W'	%}
  {% assign variable = 87-55 %}
{% when 'X'	%}
  {% assign variable = 88-55 %}
{% when 'Y'	%}
  {% assign variable = 89-55 %}
{% when 'Z'	%}
  {% assign variable = 90-55 %}
{% else %}
  {% assign variable = char %}
{% endcase %}

{% assign iban_only_numbers = iban_only_numbers | append:INT(variable) %}

{% endfor %}

{% assign modulo = iban_only_numbers | modulo:97 %}

{% comment %}
{{ iban_only_numbers }} => {{ modulo }}
{% endcomment %}

{% assign validity_checker = false %}
{% if modulo != 1 %}
  {% capture iban_warning %}
    {::warningtext as="hover"}
    {% t "Invalid IBAN number" %}
    {:/warningtext}
  {% endcapture %}
{% else %}
  {% assign validity_checker = 0 %}  
{% endif %}
{% endcapture %}

{% stripnewlines %}
|:----55%----
|:--5%---:
|--------:#+
{% newline %}
| {% t "IBAN Number" %}
|{{ iban_warning }}
| {% input custom.iban.number %}
{% endstripnewlines %}

This will create an input box in which you can input your Belgian IBAN Number, and will generate a warning if this is incorrect.