각 줄에 다음과 같은 정수 값이 포함 된 텍스트 영역이 있습니다.
1234
4321
123445
사용자가 다음과 같은 재미있는 값이 아닌 유효한 값을 실제로 변경했는지 확인하고 싶습니다.
1234,
987l;
이를 위해 텍스트 영역을 한 줄씩 읽고 유효성을 검사해야합니다. 자바 스크립트를 사용하여 텍스트 영역을 한 줄씩 읽을 수 있습니까?
각 줄에 다음과 같은 정수 값이 포함 된 텍스트 영역이 있습니다.
1234
4321
123445
사용자가 다음과 같은 재미있는 값이 아닌 유효한 값을 실제로 변경했는지 확인하고 싶습니다.
1234,
987l;
이를 위해 텍스트 영역을 한 줄씩 읽고 유효성을 검사해야합니다. 자바 스크립트를 사용하여 텍스트 영역을 한 줄씩 읽을 수 있습니까?
답변:
이 시도.
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
}
$('textarea').val()
하는 대신 document.getElementById('textareaId').innerHTML
그게 다입니다.
이것은 당신에게 모든 유효한 숫자 값을 제공 lines
합니다. 루프를 변경하여 유효성을 검사하고 유효하지 않은 문자를 제거 할 수 있습니다.
var lines = [];
$('#my_textarea_selector').val().split("\n").each(function ()
{
if (parseInt($(this) != 'NaN')
lines[] = parseInt($(this));
}
parseInt(this, 10)
) 를 기준으로 읽도록 강제 합니다. 그렇지 않으면 선행 0은 8 진법 (8 진수)으로 해석되어 다소 이상한 동작을 유발할 수 있습니다 ...
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])
}
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])
}
참고 : forEach를 선호하는 경우 샘플 루프는
lines.forEach(function(line) {
console.log('Line is ' + line)
})