gyula
gyula

Reputation: 257

Why is my while loop stucked?

I want to replace two (or more) line breaks in a textarea but Its always got stucked in an infinty loop

here it is:

var dateinput = document.getElementById("date");
var intIndexOfMatch = dateinput.value.indexOf('\n\n');


while (intIndexOfMatch != -1){
    dateinput .value = dateinput .value.replace('\n\n', '\n');

}

Upvotes: 0

Views: 44

Answers (1)

Jaromanda X
Jaromanda X

Reputation: 1

because you haven't changed intIndexOfMatch

var dateinput = document.getElementById("date");
var intIndexOfMatch = dateinput.value.indexOf('\n\n');


while (intIndexOfMatch != -1){
    dateinput .value = dateinput .value.replace('\n\n', '\n');
    intIndexOfMatch = dateinput.value.indexOf('\n\n');
}

better solution though

var dateinput = document.getElementById("date").value.replace(/\n{2,}/g, '\n');

that replaces your WHOLE code, by the way

Upvotes: 3

Related Questions