데이터 표현식, 데이터 MASK방식
☆코딩개발 / 2014. 6. 27. 20:06
반응형
XPlatform 에서 Mask 처리 : 소숫점등의 dataFormat 표현식에 관한 레퍼런스입니다.
출처: xplatform 레퍼런스 - 한글색인이 안되므로 생각날때마다 한글 검색하여 찾은 부분은 여기에 기재됩니다.
mask
- Runtime HTML5 Hybrid
Property Type
- Enum Expr Control Hidden ReadOnly Bind Collection
Description
- MaskEdit에서 입력 받을 문자의 형식을 지정하는 Property 입니다.
- type의 종류("string", "number")에 따라 지정하는 방법이 다릅니다.
Syntax
MaskEdit.mask [=stxMask]
stxMask :
Default : ""
Setting Syntax
stxMask ::= strStringMask | strNumberMask
strStringMask ::= (Remark 에 명시된 문자열을 포함한 문자)
strNumberMask ::= (Remark 에 명시된 문자열만을 포함한 문자)
mask = "@@@@";
mask = "###,000.00##";
mask = "999,000.0099";
strNumberMask Runtime Support type 가 "number" 일경우 적용되는 mask
strStringMask Runtime Support type 가 "string" 일경우 적용되는 mask
strSignMask Runtime Support number type mask에만 적용되며, mask 제일 앞에 접두사로 붙었을 때 의미를 갖습니다.
1. 입력 시 양수/음수 부호 필터링 기능 mask
- : 음수기호만 입력 가능 mask
+ : 양수기호만 입력 가능 mask
! : 음수/양수기호 입력 불가능 mask
(부호지정없음) : 양수/음수기호 입력 가능 mask (default)
Remark
MaskEdit의 type이 string인 경우 :
MaskEdit의 type이 string인 경우에 mask가 지정되지 않으면 입력을 받지 못합니다.
1. String Mask 문자
@ : 모든 Ascii 문자(한글등 다국언어 불가)
# : 모든 10진수 숫자(0-9)
* : 모든 알파벳 문자(a-zA-Z)
9 : 모든 알파벳, 숫자(a-zA-Z0-9)
A : 대문자 알파벳(A-Z)
a : 소문자 알파벳(a-z)
Z : 대문자 알파벳, 숫자(A-Z0-9)
z : 소문자 알파벳, 숫자(a-z0-9)
2. 홑따옴표 활용
홑따옴표(')는 출력되지 않으며, 홑따옴표 사이의 문자는 Mask 문자로 적용되지 않고 출력됩니다
ex) 'A'는 화면에 A로 표시됩니다.
3. \ 활용
홑따옴표 사이의 \문자는 다음에 오는 문자에 대해 바로 화면에 표시됩니다. 홑따옴표를 표시하거나, \를 표시할때 사용하게 됩니다.
ex) \\ 는 \로 표시됩니다. \' 는 '로 표시됩니다.
4. Password 처리
입력된 문자 일부를 Password로 처리하여 '*'의 형태로 출력하고자 할때에는 Password로 출력하고자 하는 영역을 { } 로 지정합니다. { } 영역안의 Mask 문자는 출력시 및 입력시 '*' 문자로 대체되어 출력됩니다.
5. Mask문자 제외 출력
value를 수정하거나, binddataset을 통한 입력값이 mask의 mask값을 포함하는 경우 값에서 mask부분이 제외되어 적용됩니다.
a. mask에 의해 표현될 text의 길이와 입력값의 길이가 일치하는 경우.
b. mask에서 마스크 글자가 아닌 모든 글자가 값과 위치관계상 일치하는경우.
위의 a,b를 모두 만족할 경우에만 value값중에서 mask에 대응되는 값을 무시하게 됩니다.
ex ) mask : @@@@-@@-@@ 인경우
ㄱ. value : 20060607 이면 text 는 2006-06-07로 출력됨
ㄴ. value : 200606 이면 text는 2006-06-__로 출력됨.
ㄷ. value : 2006-06 이면 text는 2006--0-6_로 출력됨
ㄹ. value : 2006-06-07이면 text는 2006-06-07로 겹침출력됨.
ㅁ. value : 2006-06-07 13이면 text는 2006--0-60으로 출력됨.
위와 같이 a,b 조건을 만족하는 ㄹ.의 경우만 겹침으로 출력되며, 그외에는 겹침출력 되지 않습니다.
MaskEdit의 type이 number인 경우 :
1. Number Mask 문자
# : 모든 10진수 숫자 (0-9)
9 : 모든 10진수 숫자 (0-9)
0 : 모든 10진수 숫자 (0-9)(값이 없을경우 0로 설정되어 나타납니다.)
. : 소숫점 자릿수
, : 컴마 표시 여부 (Text에서만 나타남)
ex) value 가 1234.567 일경우
ㄱ. "99.99" // 1234.56 으로 나타남
ㄴ. "9900.0099" // 1234.567 으로 나타남
ㄷ. "9,999.9" // 1,234.2 으로 나타남
ex) value 가 1.2 일경우
ㄱ. "99.99" // 1.2 으로 나타남
ㄴ. "9900.0099" // 01.20 으로 나타남
ㄷ. "9,999.9" // 1.2 으로 나타남
ㄹ. 마스크 문자에 ',' 가 표시되는 경우 ','의 위치에 관계 없이 정수부 자릿수의 3자리마다 ','가 나타납니다.
ㅁ. 마스크 문자에 '.' 가 1개를 초과하여 나타날경우 앞부분에 입력된 값만 적용됩니다.
ㅂ. '.'을 기준으로 가장 멀리 떨어진 '0' 마스크 안의 '9', '#' 마스크는 '0' 마스크처럼 동작합니다.
ㅅ. 마스크값이 "99.99" 일경우 "0." 은 표시되지 않는 것이 원칙이나 편집시에는 입력이 되며, focus를 잃을경우 "0." 의 값은 화면에서 사라집니다.
ㅇ. 마스크 문자외의 다른 모든 문자를 무시됩니다.
ㅈ. 마스크를 입력 하지 않은경우 정수부 및 소수부 자릿수에 제한이 없지만, mask를 입력하면 정수부는 자릿수 제한이 없고 소수부는 자릿수가 제한됩니다.
ㅊ. '0' mask는 display mask로만 사용되며, MaskEdit 편집 상태(editing mode, SetFocus)일 때에는 출력되지 않습니다. limit에 의한 자리수 제한은 '#'과 같이 받게 됩니다.
Requirement
Runtime Version
Windows2000SP4 이상
HTML5 Version
Chrome10 이상
InternetExplorer6 이상
Opera11 이상
Safari3 이상
Firefox3.6 이상
반응형
'☆코딩개발' 카테고리의 다른 글
MSSQL DATEADD 함수 사용법 (0) | 2014.07.04 |
---|---|
MSSQL DATEDIFF 함수 사용법 (0) | 2014.07.04 |
MSSQL 쿼리창에서 소스 라인번호 보고 싶을때 (0) | 2014.07.03 |
마이플랫폼에서 반올림, 내림 (0) | 2014.06.27 |
MSSQL에서 변수사용, 조건문, 반복문, 저장프로시저 (0) | 2014.06.26 |
하나의 컬럼에 있는 값들을 가지고 두 가지 조건으로 분리해서 SELECT하는방법 (0) | 2014.06.20 |