Проверьте Несколько почтовых Запятых, Разделенных с JavaScript

Вы можете использовать Object.values и reduce

const a = { _: { a: 1 }, __: { b: 2 }, ___: { c: 3 } }

let op = Object.values(a).reduce((op,inp) => ({...op,...inp}) ,{})

console.log(op)

На заметке: - [119 ] Имейте в виду, что ... сделает мелкую копию, только если вам нужно больше вложенных объектов, вам необходимо их клонировать

7
задан Sergio del Amo 19 February 2009 в 17:57
поделиться

4 ответа

Использовать var result = value.split(","). Вы заканчиваете с массивом.

3
ответ дан 6 December 2019 в 15:32
поделиться

Вы не должны соответствовать доменам верхнего уровня [A-Z]{2,4}:

Что относительно .museum или .travel? Что относительно доменов IDNA как .xn--0zwm56d или .xn--11b5bs3a9aj6g?

Кроме того, это совершенно допустимо, чтобы иметь адрес электронной почты как "John Doe"@example.org.

По-моему, все, необходимо проверить сторону клиента, - то, если адрес содержит @ и если существует по крайней мере один . после него. На стороне сервера Вы могли проверить, существует ли сервер (Вы могли бы даже хотеть попытаться соединиться с соответствующим портом SMTP), или просто отошлите почту проверки.

Все остальное подвержено ошибкам, поскольку фактический regex для проверки на действующие электронные адреса похож на это.


Кроме того, это

return (regex.test(field)) ? true : false;

серьезный WTF - test() уже возвращает булево значение!


Если Вы хотите позволить различные разделители, используйте регулярное выражение вместо строки для разделения, например,

value.split(/,|;/)
8
ответ дан 6 December 2019 в 15:32
поделиться

В целом не возможно проверить адреса электронной почты. Что-то, что синтаксически допустимо, не обязательно идет куда угодно, и даже если это делает, будет ли это считано.

И даже затем, для покрытия всех возможных синтаксически корректных адресов (согласно применимому RFC) нужен чрезвычайно сложный regex (см. 1-й выпуск "Освоения Регулярных выражений" (Friedl, O'Reilly) для 4 724 или 6 598 символьных версий, и они, вероятно, не обрабатывают IDNs). Например, апостроф является допустимым символом в локальной части, и у Вас могут быть комментарии в электронной почте.

1
ответ дан 6 December 2019 в 15:32
поделиться

Как насчет того, чтобы разделить строку на массив и цикличное выполнение через него передающий всего один адрес электронной почты за один раз?

0
ответ дан 6 December 2019 в 15:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: