HTML和Javascript文本区域字数

时间:2013-07-21 12:50:29

标签: javascript html5 textarea diff match

我将非常感谢以下任何帮助,

HTML5中有2个文本区域

第一个文本区域是只读的,包含特定的短语。 (例如:请立即复制此文本)

第一个文本区域位于第一个文本区域下方,用户必须在文本区域1中复制文本。

现在我需要检查第二个文本区域中的文本是否与第一个文本区域中的文本匹配,如果没有返回多少个单词不匹配

那么必须将不匹配的单词数输入到mysql数据库中,否则为0(没有不匹配的单词)

提前感谢您的帮助

2 个答案:

答案 0 :(得分:0)

我认为这篇文章正是您所寻找的。

http://ejohn.org/projects/javascript-diff-algorithm/

我也找到了这个项目。还有演示,看一看。

https://github.com/pifleo/jsdifflib

根据需要调整这些示例,您就完成了。

答案 1 :(得分:0)

试图创建一个通用函数。

试用fiddle

compareText = function (str1, str2, trimStr, lowerCaseStr, callback, separator) {
if (lowerCaseStr === true) {
    str1 = str1.toLowerCase();
    str2 = str2.toLowerCase();
}
var array1 = new Array();
var array2 = new Array();
var mistakes = {
    missed: [],
    wrongTyped: []
};
separator = separator || ' ';

array1 = str1.split(separator);
array2 = str2.split(separator);
var finalLength = array1.length;

if (array2.length > array1.length) finalLength = array2.length

for (var i = 0; i < finalLength; i++) {
    var val1 = array1[i];
    var val2 = array2[i];
    if (val1 !== val2) {
        if (typeof (val2) !== 'undefined') {
            mistakes.wrongTyped.push(val2)
        } else {
            mistakes.missed.push(val1)
        }
    }
}

if (typeof (callback) !== undefined) {
    callback(mistakes);
} else {
    return mistakes;
}

}