如何逐行阅读文本区域

我有一个文本区域,其中每行包含整数值如下

1234 4321 123445 

我想检查用户是否确实有效的值,而不是一些有趣的值如下

  1234, 987l; 

为此,我需要逐行阅读文本区域并validation。 我怎样才能阅读使用JavaScript的文本区域的行?

尝试这个。

 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 } 
 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。

这会给你所有有效的数值在行中。 你可以改变循环来validation,删除无效字符等 – 无论你想要的。

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

一个简单的正则expression式应该高效地检查你的textarea:

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

两个选项:不需要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) })