Как читать строки за строкой текстовой области

У меня есть текстовая область, где каждая строка содержит целочисленное значение, например, следующее

      1234
      4321
     123445

Я хочу проверить, действительно ли пользователь действительно допустил правильные значения, а не какие-то смешные значения, например, следующие

      1234,
      987l;

Для этого мне нужно прочитать строку за строкой текстовой области и проверить ее. Как я могу читать строку за строкой текстовой области с помощью javascript?

Ответ 1

Попробуйте это.

var lines = $('textarea').val().split('\n');
for(var i = 0;i < lines.length;i++){
    //code here using lines[i] which will give you each line
}

Ответ 2

var textArea = document.getElementById("my-text-area");
var arrayOfLines = textArea.value.split("\n"); // arrayOfLines is array where every element is string of one line

Это должно работать без необходимости jQuery.

Ответ 3

Это даст вам все допустимые числовые значения в lines. Вы можете изменить цикл, чтобы проверить, вывести недопустимые символы и т.д. - в зависимости от того, что вы хотите.

var lines = [];
$('#my_textarea_selector').val().split("\n").each(function ()
{
    if (parseInt($(this) != 'NaN')
        lines[] = parseInt($(this));
}

Ответ 4

Простое регулярное выражение должно быть эффективным для проверки вашего текстового поля:

/\s*\d+\s*\n/g.test(text) ? "OK" : "KO"

Ответ 5

Два параметра: не требуется JQuery или версия JQuery

Нет JQuery (или что-то еще требуется)

var textArea = document.getElementById('myTextAreaId');
var lines = textArea.value.split('\n');    // lines is an array of strings

// Loop through all lines
for (var j = 0; j < lines.length; j++) {
  console.log('Line ' + j + ' is ' + lines[j])
}

версия JQuery

var lines = $('#myTextAreaId').val().split('\n');   // lines is an array of strings

// Loop through all lines
for (var j = 0; j < lines.length; j++) {
  console.log('Line ' + j + ' is ' + lines[j])
}

Боковое примечание, если вы предпочитаете для каждого цикла цикла

lines.forEach(function(line) {
  console.log('Line is ' + line)
})