Нашли или выдавили из себя код, который нельзя назвать нормальным,
на который без улыбки не взглянешь?
Не торопитесь его удалять или рефакторить, — запостите его на
говнокод.ру, посмеёмся вместе!
exec() меняет lastIndex у регулярного выражения, поэтому цикл не бесконечный, но все равно очень глупый. Т.е. нужно было использовать либо String.split() либо RegExp.match() ну только с разными выражениями, конечно. Но даже, если делать так, как задумал автор, то
а как же правило 15 секунд?
потому-что ветвление внутри цикла явно лишнее.