JSFiddle - React, Tailwind, and code Playground

by Markus Hartmann

HTML

<p>Beispiel Standard: 7805988771000WBO00000103
    <br />Beispiel Two: 7805 988 77100000017.02.15000103</p>
<form name='track' id='track'>
    <label for="ident">PrĂĽfling:</label>
    <input type="text" name="ident" id="ident" style="width:220px;">
    <br />
    <input type="submit" value="Tracken" name="tracken">
</form>
<p>
    <div>Erster String: <span id="first"></span>

    </div>
    <div>Zweiter String: <span id="second"></span>

    </div>
    <div>Matched: <span id="who"></span>

    </div>
</p>

JavaScript

//******* Formular Verarbeitung
$("#track").submit(function (event) {
    event.preventDefault();
    var str = document.getElementById('ident').value;

    var m = ValidIdent(str);
    $("#first").text(m[1]);
    $("#second").text(m[2]);
    $("#who").text(m[3]);

});

//******* Clientseitige Validierung der Indentifikations-Nummer
function ValidIdent(str) {

    var expr = {};
    var m;
    var re;

    expr[0] = {};
    expr[0].name = "Name 1";
    expr[0].e = /([7]{1}[8,5]{1}[0-9]{2}[.]?[0-9]{3}[.]?[0-9]{3})[a-zA-Z0-9_.\- ]*([0-9]{7})/;

    expr[1] = {};
    expr[1].name = "Name 2";
    expr[1].e = /([7]{1}[8,5]{1}[0-9]{2}[ ][0-9]{3}[ ][0-9]{3})[a-zA-Z0-9_.\- ]*([0-9]{6})/;

    for (var i = 0; i < expr.length; i++) {

        re = expr[i]['e'];

        if ((m = re.exec(str)) !== null) {
            if (m.index === re.lastIndex) {
                re.lastIndex++;
            }
            m[3] = expr[i]['name'];
            return m;
        }
    }
    return null;
}