Функция соответствия Javascript возвращает массив совпадений в случае успеха или ноль, если совпадений не найдено.
В вашем случае первое совпадение - это целая строка, второе - обратная ссылка на ([^ & #] +)
Наверное, лучше так:
<script type="text/javascript">
var m = window.location.href.match(/[?&]k=([^&#]+)/);
document.write('<p>Showing Results for all' + ((m != null) ? m[1] : '') ++ '</p>');
</script>