【问题标题】:HTML and Javascript text area word countHTML 和 Javascript 文本区域字数
【发布时间】:2013-07-22 19:27:22
【问题描述】:

我将不胜感激以下任何帮助,

我在 HTML5 中有 2 个文本区域

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

第二个文本区域就在第一个文本区域的下方,用户必须在其中复制文本区域 1 中的文本。

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

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

提前感谢您的帮助

【问题讨论】:

  • 你自己尝试过吗?
  • 不是我真的不擅长 Javascript,所以任何帮助将不胜感激......谢谢
  • 好的。我了解您来自哪里,但恐怕 Stackoverflow 是针对实际的错误、问题或您自己无法弄清楚的事情,您需要某些领域专家的额外帮助。您刚才描述的事情听起来更像是您需要完成的工作,而不是您作为一名开发人员遇到的实际问题。老实说,后者并不真正属于这里。
  • 感谢您的评论,我不是要求有人为我完成这项工作,我完成了所有 HTML5、CSS3、PHP 和 SQL 工作以及我能够使用 JS 完成的工作,现在谢谢对 Majky,我知道我必须做什么......无论如何,谢谢。
  • 一点也不,我确定您不是在寻找只是简单地交付完成的代码的人。但为了确保每个人都在同一个页面上,我添加了我刚才回复的内容。

标签: javascript html textarea diff match


【解决方案1】:

刚刚尝试创建一个通用函数。

试试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;
}

}

【讨论】:

  • 非常感谢您提供的代码,我们会及时通知您开发...干杯
  • 非常感谢悉达多,这是可行的,但是当我添加提交按钮时,它将无法正常工作!!我试图在这里发布代码但没有成功!!!
  • 你能分享一个小提琴吗?那会很有帮助。
  • 再次感谢并抱歉回复晚了,我已经修改了代码以符合我的需要,但仍然需要将错误输入的单词数提交到数据库,您可以在@987654322 看到 JS @欢呼
  • 我已经更新了小提琴,您可以在控制台jsfiddle.net/22dXq/4 中检查输出此外,您需要进行数据库调用以将结果插入数据库。
【解决方案2】:

我认为这篇文章正是您想要的。

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

我也找到了这个项目。还有demo,看看吧。

https://github.com/pifleo/jsdifflib

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

【讨论】:

  • 非常感谢您提供的信息,我将更新代码以计算拼写错误的单词数并回复。 (P.S. 我对 Javascript 不太擅长,所以看看我会卡在哪里......)
猜你喜欢
  • 2021-01-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-14
相关资源
最近更新 更多