UNPKG

find-emails-in-string

Version:

Takes a string containing email addresses and returns array of emails in original string

28 lines (24 loc) 882 B
var findEmailsInString = function(){ return { findEmails: function(string){ var wordArray = string.split(" "); var result = []; wordArray.forEach(function(word){ if (word.match(/[@]/) !== null) { if (word[word.length - 1].match(/[,:;.!?]/)) { word = word.slice(0, -1); } if (isValidEmail(word)) { result.push(word); } } }); return result; } }; }; var isValidEmail = function(word) { var regex = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; return regex.test(word); }; module.exports = findEmailsInString().findEmails;