JSFiddle - React, Tailwind, and code Playground

by alekskorovin

HTML

<div id="myContent">
    <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Consequuntur voluptatum quam sed iste odio error magni recusandae velit qui nihil! uq Ipsum numquam cumque vero laborum sit corporis est repellat mailto:[email protected] </p>
    <p>L<a href="mailto:[email protected]">[email protected]</a>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Dolor nam est hic quia enim modi ea adipisci qui quo itaque a officiis neque aperiam assumenda eaque omnis accusamus corporis similique!</p>
</div>
<div id="myResult"></div>

JavaScript

var sourceText = document.getElementById('myContent').innerHTML;
var resultText = '';

//resultText = sourceText.replace(/((?=![":])[\":a-z0-9._-]{2,}@[a-z-_]{2,}\.[a-z]{2,}(\.[a-z]{2,})?)/gi, "<a href='mailto:$1'>$1</a>");

// in progress
resultText = sourceText.replace(/[.*](?![\mailto:\])[\a-z0-9._-]{2,}@[a-z-_]{2,}\.[a-z]{2,}(\.[a-z]{2,})?)/gi, '<a href="mailto:$1">$1</a>');

// Working
//resultText = sourceText.replace(/(myail@mail.[a-z]{3,}(?!").{1,}?)/gi, "<a href='mailto:$1'>$1</a>");

//resultText = sourceText.replace(/(myail@mail.(?=net)[a-z]{3,}?)/gi, "<a href='mailto:$1'>$1</a>");

//resultText = sourceText.replace(/([\a-z0-9._-]{2,}@[a-z-_]{2,}\.[a-z]{2,}(\.[a-z]{2,})?)(?!["mailto:])/g, "<a href='mailto:$1'>$1</a>");

//resultText = sourceText.replace(/[a-z0-9._-]{2,}@[a-z-_]{2,}\.[a-z]{2,}(\.[a-z]{2,})(?=>)/g, "<a href='mailto::$1'>$1</a>");

//resultText = sourceText.replace(/([a-z0-9._-]{2,}@[a-z-_]{2,}\.[a-z]{2,}(\.[a-z]{2,})?)/g, "<a href='mailto::$1'>$1</a>");

console.log(resultText);

document.getElementById('myResult').innerHTML = resultText;