...
Status title 릴리즈 2.4.0 이상
주민등록번호, 이메일, 전화번호와 같은 개인정보들을 필터링하여 '*'로 치환해주는 '개인정보보호' 플러그인입니다.
사용방법
플러그인 파일 불러오기
Code Block | ||||
---|---|---|---|---|
| ||||
<link rel="stylesheet" href<!-- SynapEditor 객체가 존재해야 적용할 수 있기 때문에 에디터 스크립트 파일 아래에 include 해야 합니다 --> <script src="personalDataProtection.min.css의js의 url"> <script src></script> <link rel="stylesheet" href="personalDataProtection.min.js의css의 url"></script> |
...
> |
UI
플러그인 이름인 'personalDataProtection'을 사용하여 툴바 영역, 메뉴 영역에 버튼을 추가할 수 있습니다.
툴바에 추가
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
//... 'editor.toolbar': [ //..., 'personalDataProtection', //... ], // ... |
...
메뉴에 추가
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
//... 'editor.menu.definition': { //..., 'tools': [ //..., 'personalDataProtection', //... ], //... }, //... |
config설정
Status colour Yellow title 릴리즈 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 |
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{ // 개인정보보호 플러그인 기본설정 값
'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)
Status colour Yellow title 릴리즈 2.13.0 이상
개인정보보호 검사를 수행하고 결과를 인자로 받은 callback 함수로 반환합니다.
Parameters:
name | Type | Description | |
---|---|---|---|
callback | Function | 개인정보 검사 결과를 받을 콜백함수입니다. 검사 결과가 Boolean 으로 반환됩니다.
|
Example
Code Block | ||||
---|---|---|---|---|
| ||||
editor.checkPersonalData(function (result) {
if (!result) {
// 개인 정보 검사가 통과되지 않으면 개인 정보 검사 다이얼로그 열기
editor.getUIManager().showDialog('personalDataProtection');
}
}); |