Вдохновленный ответом Мэтта Грегори, здесь немного сложнее итератор, который вернет a, b, ..., z, aa, ab, ..., zz, aaa, aab, ..., zzy, zzz
class AlphaCounter:
def __init__(self, low, high):
self.current = low
self.high = high
def __iter__(self):
return self
def __next__(self): # Python 3: def __next__(self)
alpha = ' abcdefghijklmnopqrstuvwxyz'
n_current = sum([(alpha.find(self.current[x])* 26**(len(self.current)-x-1)) for x in range(len(self.current))])
n_high = sum([(alpha.find(self.high[x])* 26**(len(self.high)-x-1)) for x in range(len(self.high))])
if n_current > n_high:
raise StopIteration
else:
increment = True
ret = ''
for x in self.current[::-1]:
if 'z' == x:
if increment:
ret += 'a'
else:
ret += 'z'
else:
if increment:
ret += alpha[alpha.find(x)+1]
increment = False
else:
ret += x
if increment:
ret += 'a'
tmp = self.current
self.current = ret[::-1]
return tmp
for c in AlphaCounter('a', 'zzz'):
print(c)
Вам просто нужно поместить функцию в событие keyup вашего поля запроса.
$(function() {
function numHits(n, h) {
var c, re = new RegExp(n, "g");
c = (h.match(re) || []).length;
return c;
}
$("#keyword-input").keyup(function(e) {
e.preventDefault();
$("#keyword-count").html(numHits($("#keyword-input").val(), $("#my-txt-area").val()));
});
});