forse perche' in quella regexp valuti solo il primissimo carattere in stringa

filtro = /^[a-zA-Z0-9]+$/;