有没有办法在jquery中进行近似的文本匹配?
我有一个带有正确答案的div
<div class="correctAnswer" style="display:none;">CORRECT</div>
我希望当input标签中的答案大致正确时,显示一些文本
<input type="text"> //lets guess i type "CORREC"
<div class="Approximate" style="display:none;">Your answer is Approximate correct!</div>
发布于 2012-10-31 23:51:05
您可以使用Levenshtein距离算法来执行此操作,该算法将为字符串的相似性打分。
它是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 (这不是我的,BTW)。
https://stackoverflow.com/questions/13161655
复制相似问题