카카오톡처럼 메시지에 url이 있으면 파란글씨로 바꿔주는 거 처럼
문자열에서 url이 있으면 뽑아내려고해요
아래 코드처럼했는데
function validURL(text) {
var res = text.match(/(?:(?:(https?|ftp|telnet):\/\/|[\s\t\r\n\[\]\`\<\>\"\'])((?:[\w$\-_\.+!*\'\(\),]|%[0-9a-f][0-9a-f])*\:(?:[\w$\-_\.+!*\'\(\),;\?&=]|%[0-9a-f][0-9a-f])+\@)?(?:((?:(?:[a-z0-9\-가-힣]+\.)+[a-z0-9\-]{2,})|(?:[\d]{1,3}\.){3}[\d]{1,3})|localhost)(?:\:([0-9]+))?((?:\/(?:[\w$\-_\.+!*\'\(\),;:@&=ㄱ-ㅎㅏ-ㅣ가-힣]|%[0-9a-f][0-9a-f])+)*)(?:\/([^\s\/\?\.:<>|#]*(?:\.[^\s\/\?:<>|#]+)*))?(\/?[\?;](?:[a-z0-9\-]+(?:=[^\s:&<>]*)?\&)*[a-z0-9\-]+(?:=[^\s:&<>]*)?)?(#[\w\-]+)?)/gmi);
return (res)
};
var msg = `주소는 naver.com입니다 dd.ddd`;
if (validURL(msg) !=null){
console.log(validURL(msg))
}
문제는 dd.ddd 이런것도 url로 인식해버리니… (카톡에서는 인식안됨)
한 15년전 같으면 그냥 쓰겠는데 요즘에는 한글 도메인도 많아져서
한국인터넷진흥원.한국 이런거는 또 인식을 못하더라구요 (카톡에서는 인식됨)
카톡이 어떤 방법을 썼을까요…
어떻게 하면 좋을지 조언 구해봅니당…