Hi,
Ich habe zu den regulären Ausdrücken in JavaScript bezüglich der Performance eine Frage:
Ist es besser einen kurzen, aber meist auch komplizierten, regulären Ausdruck zu verwenden oder doch eher mehrere einfachere Ausdrücke, die mit && im if-Statement verbunden sind.
Wie wirkt sich das auf die Performance aus? Ich denke die beiden werden sich nicht viel schenken, aber ich frage trotzdem mal, welche Variante ihr bevorzugen würdet.
Hier noch ein Beispiel, damit meine Frage hoffentlich klarer wird:
Überprüfung auf eine 'Integer'-Zahl im Format 9999999 oder 9.999.999:
1.Variante
if (string.search(/[1]{1,2}.[0-9]{3}.[0-9]{3}.([0-9]{3})$/) == -1
&& string.search(/[2]{3}.[0-9]{3}.([0-9]{3})$/) == -1
&& string.search(/[3]{1,2}.[0-9]{3}.([0-9]{3})$/) == -1
&& string.search(/[4]{1,2}.[0-9]{3}$/) == -1
&& string.search(/[5]{3}.[0-9]{3}$/) == -1
&& string.search(/[6]+$/) == -1) {fehler}
2.Variante
if (string.search(/(^\d+$)|(^\d{1,3}(.\d{3})?(.\d{3})?(.\d{3})?$)/) == -1) {fehler}
Bin für jeden Tipp dankbar.
gruß moe