Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从文本区域获取行并进行比较_Javascript_Html - Fatal编程技术网

Javascript 从文本区域获取行并进行比较

Javascript 从文本区域获取行并进行比较,javascript,html,Javascript,Html,我想在一个页面上添加两个框,然后您可以将文本复制/粘贴到其中,并使用JavaScript比较这两个框 <textarea id="first"></textarea> <textarea id="second"></textarea> 然后,我想强调一下所说的话 我不确定如何逐行访问textarea的值,或者我需要获取整个值并将其拆分为一个数组吗 有人能给我提供逐行访问文本区的语法吗 如果你认为我做错了,或者他们的方法更简单,请让我知道 编辑:

我想在一个页面上添加两个框,然后您可以将文本复制/粘贴到其中,并使用JavaScript比较这两个框

<textarea id="first"></textarea>
<textarea id="second"></textarea>
然后,我想强调一下所说的话

我不确定如何逐行访问textarea的值,或者我需要获取整个值并将其拆分为一个数组吗

有人能给我提供逐行访问文本区的语法吗

如果你认为我做错了,或者他们的方法更简单,请让我知道

编辑: 以下是我的完整解决方案:

HTML



比较






Javascript

function compare() {
    document.getElementById('results').innerHTML = "";
    var first = document.getElementById("first");
    var second = document.getElementById("second");
    if(document.all) { // IE
        var f = first.value.split("\r\n");
        var s = second.value.split("\r\n");
    } else { //Mozilla
        var f = first.value.split("\n");
        var s = second.value.split("\n");
    }
    for(var i=0; i<f.length; i++) {
        if (f[i] !== s[i]) {
            var row = i;
            row++
            document.getElementById('results').appendChild(document.createTextNode("Box 1 Does not Match Box 2 on line: " + row));
            document.getElementById('results').appendChild(document.createElement('br'));
        }
    }
};
函数比较(){
document.getElementById('results').innerHTML=“”;
var first=document.getElementById(“first”);
var second=document.getElementById(“second”);
if(document.all){//IE
var f=first.value.split(“\r\n”);
var s=second.value.split(“\r\n”);
}else{//Mozilla
var f=第一个.value.split(“\n”);
var s=第二个.value.split(“\n”);
}
对于(var i=0;i
text1=document.getElementById(“第一”).value.split(“\n”);
text2=document.getElementById(“秒”).value.split(“\n”);
var limit=text1.length>text2.length?text1.length:text2.length;
对于(i=0;i
text1=document.getElementById(“第一”).value.split(“\n”);
text2=document.getElementById(“秒”).value.split(“\n”);
var limit=text1.length>text2.length?text1.length:text2.length;

对于(i=0;i,此代码获取字符串,在换行符处将其拆分,并返回位于所提供索引处的字符串:

function line( n, source ) {

    var a = source,
        b = a.split( '\n' );

    return b[ n - 1 ];

}​
您可以这样使用它:

if ( line(5, text) === "whatever" ) {
    // ...
}

您可以在此处看到一个演示:

此代码获取字符串,在换行符处将其拆分,并返回位于所提供索引处的字符串:

function line( n, source ) {

    var a = source,
        b = a.split( '\n' );

    return b[ n - 1 ];

}​
您可以这样使用它:

if ( line(5, text) === "whatever" ) {
    // ...
}

您可以在这里看到一个演示:

您可以通过getElementById('first')和two执行此操作,然后将其作为字符串进行比较您可以通过getElementById('first')和two执行此操作,然后将其作为字符串进行比较
if ( line(5, text) === "whatever" ) {
    // ...
}