릴리즈 2.4.0 이상
주민등록번호, 이메일, 전화번호와 같은 개인정보들을 필터링하여 '*'로 치환해주는 '개인정보보호' 플러그인입니다.
사용방법
플러그인 파일 불러오기
<!-- SynapEditor 객체가 존재해야 적용할 수 있기 때문에 에디터 스크립트 파일 아래에 include 해야 합니다 --> <script src="personalDataProtection.min.js의 url"></script> <link rel="stylesheet" href="personalDataProtection.min.css의 url">
UI
플러그인 이름인 'personalDataProtection'을 사용하여 툴바 영역, 메뉴 영역에 버튼을 추가할 수 있습니다.
툴바에 추가
//... 'editor.toolbar': [ //..., 'personalDataProtection', //... ], // ...
메뉴에 추가
//... 'editor.menu.definition': { //..., 'tools': [ //..., 'personalDataProtection', //... ], //... }, //...
config설정
릴리즈 2.15.0 이상
개인정보보호 검사규칙을 추가하거나 수정 할 수 있습니다.
설정
Key | 설명 |
---|---|
'personalDataProtection.config': { [type]: { regExp: RegExp, messages: { en: string, ko: string, ja: string, zh: string, zh_tw: string, vi: string, } }, replaceText: function(text: string, replaceChar: string, regExp: RegExp): string } | 개인정보보호 검사규칙을 설정합니다. (필수) 개인정보보호를 검사할 정규식을 정의합니다. (선택) 다이얼로그의 구분항목에 들어갈 메세지를 정의 합니다. 6가지 언어로 지정이 가능합니다. 메세지가 지정되지 않은 경우 type으로 대체하며, 각 언어가 지정되지 않은 경우 영어로 대체됩니다. (선택) 개인정보보호 검사에서 검출된 문자열을 수정하는 함수를 정의합니다. 반드시 문자열을 반환해야 합니다. 함수가 없을 경우 모두 '*'로 수정합니다. (parameter) text: 개인정보보호 검사규칙으로 찾아낸 문자원본 입니다. ex) '010-1234-5678' replaceChar: 변경할 문자입니다. ex) '*' regExp: 개인정보보호를 검사할 정규식입니다. ex) /([a-z0-9_\-\.]+)@([a-z0-9_\-\.]+)\.([a-z]{2,5})/gi |
{ // 개인정보보호 플러그인 기본설정 값 'regNumber': { regExp: /(([0-9]{2})(0[1-9]|1[0-2])(0[1-9]|[1,2][0-9]|3[0,1]))([- .]?)([0-9]{7})/g, messages: { en: 'Registration Number', ko: '주민등록번호' } }, 'phoneNumber': { regExp: /\+?(((0|82)((2|31|32|33|41|42|43|44|51|52|53|54|55|61|62|63|64|11|12|13|14|15|16|17|18|19|70|80)[-) .]?)([0-9]{3,4}))|((0|82)10[-) .]?[0-9]{4}))[- .]?([0-9]{4})/g, messages: { en: 'Phone Number', ko: '전화번호' } }, 'email': { regExp: /([a-z0-9_\-\.]+)@([a-z0-9_\-\.]+)\.([a-z]{2,5})/gi, messages: { en: 'E-Mail', ko: '이메일' } } } { // config설정 예제 'personalDataProtection.config': { 'phoneNumber': { // 기존 개인정보보호 설정값 수정 replaceText: function(text, replaceChar, regExp) { var index = 0; return text.replace(/\d+/g, function(match) { return index++ === 1 ? match.replace(/\d/g, replaceChar) : match; }) } }, 'company_name_check': { // 새로운 개인정보보호 설정 regExp: /synapsoft/gi, messages: { en: 'Company Name', ko: '회사명', ja: '会社名', zh: '公司名称', zh_tw: '公司名稱', vi: 'Tên công ty' }, replaceText: function(text, replaceChar, regExp) { return text.replace(/[s]/gi, replaceChar); } } } }
[ config설정 예제 적용결과 ]
API
editor.checkPersonalData(callback)
릴리즈 2.13.0 이상
개인정보보호 검사를 수행하고 결과를 인자로 받은 callback 함수로 반환합니다.
Parameters:
name | Type | Description | |
---|---|---|---|
callback | Function | 개인정보 검사 결과를 받을 콜백함수입니다. 검사 결과가 Boolean 으로 반환됩니다.
|
Example
editor.checkPersonalData(function (result) { if (!result) { // 개인 정보 검사가 통과되지 않으면 개인 정보 검사 다이얼로그 열기 editor.getUIManager().showDialog('personalDataProtection'); } });