-
[javascript] 4bytes 이모지(emoji) 제한하기Tech Shared 2022. 10. 5. 01:08
4bytes 이모지를 제한해야 하는 경우가 있을때 사용한다.
저의 경우에는 MySQL 에 데이타를 입력시 4bytes 이모지(\xF0\x9F\x98\x88) 있을 경우 insert 실패가 되었다.
MySQL의 charset 을 utf8 에서 utf8mb4 로 변경할 수도 있지만, JS 에서 제한하여 사용하지 않는 데이타를 방지하고자 한다.
function remove_emojis (text) { const regex = /(?:[\u2700-\u27bf]|(?:\ud83c[\udde6-\uddff]){2}|[\ud800-\udbff][\udc00-\udfff]|[\u0023-\u0039]\ufe0f?\u20e3|\u3299|\u3297|\u303d|\u3030|\u24c2|\ud83c[\udd70-\udd71]|\ud83c[\udd7e-\udd7f]|\ud83c\udd8e|\ud83c[\udd91-\udd9a]|\ud83c[\udde6-\uddff]|\ud83c[\ude01-\ude02]|\ud83c\ude1a|\ud83c\ude2f|\ud83c[\ude32-\ude3a]|\ud83c[\ude50-\ude51]|\u203c|\u2049|[\u25aa-\u25ab]|\u25b6|\u25c0|[\u25fb-\u25fe]|\u00a9|\u00ae|\u2122|\u2139|\ud83c\udc04|[\u2600-\u26FF]|\u2b05|\u2b06|\u2b07|\u2b1b|\u2b1c|\u2b50|\u2b55|\u231a|\u231b|\u2328|\u23cf|[\u23e9-\u23f3]|[\u23f8-\u23fa]|\ud83c\udccf|\u2934|\u2935|[\u2190-\u21ff])/g; return text.replace(regex, ''); }
참고링크 :
https://string.tistory.com/39https://stackoverflow.com/questions/10992921/how-to-remove-emoji-code-using-javascript
'Tech Shared' 카테고리의 다른 글
MySQL 컬럼 DATA-TYPE (0) 2023.01.01 [node.js] oracle -> mysql 데이타 전송 테스트 ( 시간측정 포함 ) (0) 2022.10.05 MacOS 에서 SQLDeveloper 설정 (0) 2021.12.26 ubuntu 서버에 Microsoft ODBC Driver 설치 (0) 2021.10.07