2017-11-03 1 views
-2

HTML 코드가 있습니다. 백엔드에서 생성 중이므로 html 페이지 만 사용할 수 있습니다. 백 엔드 코드를 제어 할 권한이 없습니다. JavaScript을 사용하여 모든 이메일 주소에 하이퍼 링크를 추가하고 싶습니다. 여기에 html이 있습니다.이 행은 3 행뿐입니다. 많은 수입니다.전자 메일 ID를 감지하고 하이퍼 링크를 추가하십시오.

<div class="content"> 
    Title: dev<br> 
    Phone: 1234567890<br> 
    Email: [email protected]<br> 
</div> 
<div class="content"> 
    Title: dev<br> 
    Phone: 1234567890<br> 
    Email: [email protected]<br> 
</div> 
<div class="content"> 
    Title: dev<br> 
    Phone: 1234567890<br> 
    Email: [email protected]<br> 
</div> 
+0

귀하의 질문은 불분명하다 당신은 예제를 줄 수 –

+2

오신 것을 환영합니다 스택 오버플로! [도움], 특히 [* 좋은 질문을하는 법 *] (/ help/how-to-ask)을 읽어보십시오. 관련 주제에 대한 [검색] (/ help/searching). 작업을 시도하십시오. *** *** 당신이 붙어서 더 많은 조사와 검색을 한 후에 풀릴 수없는 경우, 시도의 [mcve]를 게시하고 어디서 붙어 있는지 구체적으로 말하십시오. –

+0

javaScript를 사용하여 모든 전자 메일 주소에 하이퍼 링크를 추가하고 싶습니다. html 코드를 편집 할 수 없습니다. 어떻게 전자 메일 주소를 감지하고 javaScript를 사용하여 하이퍼 링크를 추가 할 수 있는지 보여주십시오. –

답변

0

이 간단하다 ...

를 사용하여 이메일 양식의 텍스트와 일치하고 하이퍼 링크로 대체하는 정규 표현식 ..

var text = document.querySelectorAll('div.content'); 
 
    
 
//use your reg here... 
 
var emailReg = /(([^<>()\[\]\.,;:\[email protected]\"]+(\.[^<>()\[\]\.,;:\[email protected]\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\[email protected]\"]+\.)+[^<>()[\]\.,;:\[email protected]\"]{2,})$/igmu ; 
 

 
text.forEach(function(item){ 
 
    var textInner = item.innerHTML; 
 

 
    var email = textInner.match(emailReg)[0]; 
 

 
    var emailHype = `<a href="mailto:${email}">${email}</a>`; 
 

 
    var textInner = textInner.replace(emailReg ,emailHype); 
 
    item.innerHTML = textInner; 
 
    
 
});
<div class="content">[email protected]</div> 
 
<div class="content"> 
 
    Title: dev<br> 
 
    Phone: 1234567890<br> 
 
    Email: [email protected]<br> 
 
</div> 
 
<div class="content"> 
 
    Title: dev<br> 
 
    Phone: 1234567890<br> 
 
    Email: [email protected]<br> 
 
</div>

관련 문제