Нет, проблема не с обратной косой чертой. Иаков прав, цитирования не нужно.
Проблема в том, что действительно, match возвращает массив. Следовательно, следующий простой контрольный пример НЕ работает.
<html>
<script type="text/javascript">
var a='show: something';
url_param = a.match(/show:[^/]+/i);
show_number = url_param.substring(5);
alert (show_number);
</script>
</html>
Однако, эта вторая версия работает.
<html>
<script type="text/javascript">
var a='show: something';
url_param = a.match(/show:[^/]+/i);
show_number = url_param[0].substring(5);
alert (show_number);
</script>
</html>
Еще лучше, вероятно, что-то явное, которое обрабатывает пробелы, проверяет начало и конец строки и извлекает сопоставление с шаблоном.
<html>
<script type="text/javascript">
var a='show: something';
url_param = a.match(/^\s*show:\s*([^/]+)\s*$/i);
show_number = url_param[0].substring(5);
alert (show_number);
</script>
</html>
Это немного более пуленепробиваемо.