Edit in JSFiddle

$(function(){

function levenshtein(a, b) {

	var al = a.length + 1;
	var bl = b.length + 1;
	var result = [];
	var temp = 0;

	// 创建一个二维数组
	for (var i = 0; i < al; result[i] = [i++]) {}
	for (var i = 0; i < bl; result[0][i] = i++) {}

	for (i = 1; i < al; i++) {
		for (var j = 1; j < bl; j++) {
			// 判断最上方和最左方数字是否相等
			temp = a[i - 1] == b[j - 1] ? 0 : 1;
			// result[i - 1][j] + 1 左方数字
			// result[i][j - 1] + 1 上方数字
			// result[i - 1][j - 1] + temp 左上方数字
			result[i][j] = Math.min(result[i - 1][j] + 1, result[i][j - 1] + 1, result[i - 1][j - 1] + temp);
		}
	}

	return result[i-1][j-1];

}


var data = [
	"今天是星期五",
	"今天是周五",
	"明天咱们去钓鱼吧",
	"明天咱们去玩游戏",
	"明天咱们吃火锅",
	"下周今天是星期几",
	"明天天气怎么样"
];

$('.search-btn').on('click', function() {

	var searchStr = $('#search').val();
	var tempArr = [];
	var result = [];
	var resultStr = '';

	for (var i = 0; i < data.length; i++) {
		console.log(levenshtein(searchStr, data[i]));
		tempArr[i] = [];
		tempArr[i].push(levenshtein(searchStr, data[i]));
		tempArr[i].push(data[i]);
	}

	// 这里认为编辑距离小于五的数据比较接近原意
	// 你还可以按照编辑距离排序,数字小的排在上面
	// result = tempArr.filter(function(distance) {
	// 	return distance[0] < 10;
	// });
	result = tempArr.sort(function(a, b) {
		return a[0] - b[0];
	});

	// 显示结果
	result.forEach(function(val, index) {
		resultStr += '<li>' + val[1] + '(' + val[0] + ')' + '</li>';
	});
	$('.result-list').html(resultStr);


});


});
<input id="search" type="text">
<a href="javascript:;" class="search-btn">显示匹配项</a>

<ul class="result-list"></ul>