정규식 표현
정규식을 이용하여 원 데이터를 가공하여 표시할 수 있습니다.
정규식을 이용한 변환은 보여지는 값에만 영향을 미치고 데이터 자체에는 영향이 없으며 Copy&Paste작업시에는
원 데이터로 처리됩니다. 따라서 마스킹과 같은 경우는 그리드의 복사를 제한하여야 합니다.
이 기능은 자바스크립트의 String.replace함수를 그대로 사용한 기능입니다.
DataColumn의 displayRegExp
에 찾으려는 정규식 패턴을 지정하고 displayReplace
에 변경 패턴을 지정하면 replace된 값이 Cell에 표시됩니다.
displayRegExp
- 문자열 변경시(마스킹 등) 사용할 정규식 패턴을 지정합니다.displayReplace
- 문자열 변경시(마스킹 등) 사용할 패턴을 지정합니다.사용자Id 컬럼에 정규식 표현을 설정합니다.
1
2
3
//displayReplace에 대체문자열 사용
gridView.setColumnProperty("userid","displayRegExp", /^([a-z0-9]{3})([a-z0-9]+)$/)
gridView.setColumnProperty("userid","displayReplace", "$1***")
1
2
3
4
5
//displayReplace에 Callback 사용
gridView.setColumnProperty("email","displayRegExp", /^([a-zA-Z0-9._%+-]+)(@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4})$/)
gridView.setColumnProperty("email","displayReplace", function (match, p1, p2, offset, string) {
return p1.substring(0, 2) + "****" + p2;
})
1
2
gridView.setColumnProperty("ip_address","displayRegExp", /^([0-9]+\.)([0-9]+\.)([0-9]+)(\.[0-9]+)$/)
gridView.setColumnProperty("ip_address","displayReplace", "$1$2***$4")
1
2
gridView.setColumnProperty("card_number","displayRegExp", /^([0-9]{4})([0-9]{4})([0-9]{4})([0-9]{4})$/)
gridView.setColumnProperty("card_number","displayReplace", "$1-$2-****-$4")
1
2
3
4
5
6
7
8
9
10
11
12
13
14
var columns = [{
"fieldName": "phone",
"width": 120,
"header": { "text": "전화번호" },
"styles": {
"textAlignment": "near",
"font": "arial",
"background": "#ffffff99"
},
"displayRegExp": /^([0-9]+)\(([0-9]+)\)([0-9]{3})([0-9]{4})$/,
"displayReplace": "$1-$2-$3-$4"
}];
gridView.setColumns(columns);