Строка input[i].getAttribute('pattern') возвращает строку, а не регулярное выражение. У строки нет метода test.
Используй метод
match
И input[i] это html элемент, а не строка.
HTMLCollectionfunction validateMail(el, pattern) {
return el.value.match(pattern);
};