javascript - jquery/javascript 中的近似文本匹配

标签 javascript jquery html

有没有办法在 jquery 中进行近似文本匹配?

我有一个包含正确答案的 div

<div class="correctAnswer" style="display:none;">CORRECT</div>

我希望当输入标记中的答案近似正确时显示一些文本

<input type="text"> //lets guess i type "CORREC"
<div class="Approximate" style="display:none;">Your answer is Approximate correct!</div>

最佳答案

您可以使用 Levenshtein Distance 算法来执行此操作,该算法将为您提供字符串相似度的分数。

well described on wikipedia并已用于许多不同的语言/技术。

伪算法是这样的:

int LevenshteinDistance(string s, string t)
{
  int len_s = length(s), len_t = length(t), cost = 0

  if(s[0] != t[0]) then cost = 1

  if(len_s == 0) then      return len_t
  elseif(len_t == 0) then  return len_s
  else                     return minimum(LevenshteinDistance(s[1..len_s-1], t) + 1,
                                      LevenshteinDistance(s, t[1..len_t-1]) + 1,
                                      LevenshteinDistance(s[1..len_s-1], t[1..len_t-1]) + cost)
}

您可能还想尝试this javascript implementation on github (顺便说一句,这不是我的)。

关于javascript - jquery/javascript 中的近似文本匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13161655/

相关文章:

javascript - 检测平板电脑或桌面用户

jquery - 出现在 other 后面的 Div。如何避免这种行为?

vim中的html缩进

python - BeautifulSoup HTML 获取 src 链接

php - 计算html+css显示高度的函数

javascript - 将参数传递给 KeyDown

javascript - 我如何知道 chrome.experimental.socket 的状态?

javascript - HTML 中的嵌套类

javascript - 为什么我的事件没有第一次触发?

jQuery DatePicker 问题 : Set current date