Я позволил себе немного изменить Ваш код и сделать его немного более читаемым. Так же, мне не совсем было понятно, зачем Вы сделали главную функцию, которая лишь вызывает еще одну. Поэтому я убрал промежуточную и сделал вызов по кнопке самой главной функции. Далее, принцип работы: вводим цифры/буквы в одно поле и в другое.
Нажимаем кнопку "вычислить". Функции забивают эти данные в массивы и далее сверяют их. Должен признать, мне очень понравилась Ваша реализация. Как работает вывод: объединение - выводит все неповторяющиеся элементы двух массивов. Пересечение - выводит элементы, которые встречались в каждом массиве. Независимо от того, сколько раз. Эта Ваша заслуга.
Пробел - равноценный участник работы. Это символ. Поэтому если Вы введете в два поля сколько угодно пробелов, а потом некие цифры, то в поле пересечение будет пробел, запятая и остальные числа. Если введете лишь в одном поле пробел, то он будет лишь в поле объединение.
Как я ни старался, достичь двух запятых после моей небольшой корректировки у меня не вышло.
З.Ы.: возможно при сохранении файл как html и последующем открывании у Вас отобразятся "кракозябры". Прошу меня простить за это, т.к. редактировал его в VS. Просто измените кодировку на Windows-1251 в браузере.
Скачать вложение Текст (TXT)