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;
}