2016-12-15 9 views
-1

Мне нужно подсчитать количество строк в текстовом поле через JQuery или простой старый JS, но это не вся проблема.Подсчитайте количество строк в textarea, которые являются числами?

Мне также нужно прокручивать каждую строку и сопоставлять каждую строку (возможно, с некоторым регулярным выражением) все записи, которые являются числами, с запятыми или без них. Я думаю, что у меня есть немного регулярное выражение, которое выполняет согласование в соответствии с требованиями:

(?:^|\s)(\d*\.?\d+|\d{1,3}(?:,\d{3})*(?:\.\d+)?)(?!\S) 

Твердая часть для меня работает через каждую строку текстового поля и проверки (и возвращает количество) всех действующих линий.

Как бы я это сделал?

+3

Вы можете использовать 'line.split ('\ n')' для разделения ввода на массив строк. Затем проведите через массив, сопоставляя каждую строку с регулярным выражением и увеличивайте счетчик, когда он совпадает. – Barmar

+1

Instea '^ | \ s' вы можете использовать' \ b' для соответствия границе слова. – Barmar

+0

Спасибо! Ты понял. Я ответил на ваши комментарии. (Это замечательно, когда вы пытаетесь научиться JS -_-) Я искал его ... – Bitz

ответ

0

Решил его с помощью, благодаря Бармару.

function getLineCount() { 
     var lines = $('textarea#my-textarea').val().split('\n'); 
     var count = 0; 
     lines.forEach(function (line) { 
      if (/(?:\b)(\d*\.?\d+|\d{1,3}(?:,\d{3})*(?:\.\d+)?)(?!\S)/.test(line)) { 
       count++; 
      } 
     }); 
     //console.log(count); 
     return count; 
    } 

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

 Смежные вопросы

  • Нет связанных вопросов^_^