본문 바로가기

JavaScript

[JS] encode 함수 비교

2009. 10. 1.
encodeURI () 함수  

문자열을 유효한 URI(Uniform Resource Identifier)로 인코딩합니다. 문자가 기본 문자의 소규모 그룹에 속하지 않은 경우 전체 URI를 모든 문자가 UTF-8 이스케이프 시퀀스로 인코딩된 문자열로 변환합니다.

다음 표에서는 encodeURI 함수를 통해 UTF-8 이스케이프 시퀀스로 변환되지 않는 기본 문자 세트 전체를 보여 줍니다.

인코딩되지 않는 문자
0 1 2 3 4 5 6 7 8 9
a b c d e f g h i j k l m n o p q r s t u v w x y z
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
; / ? : @ & = + $ , #
- _ . ! ~ * ' ( )
encodeURIComponent () 함수  

문자열을 유효한 URI 구성 요소로 인코딩합니다. 문자가 기본 문자의 매우 작은 그룹에 속하지 않은 경우 URI의 하위 문자열을 모든 문자가 UTF-8 이스케이프 시퀀스로 인코딩된 문자열로 변환합니다.

encodeURIComponent() 함수는 URI 구성 요소라고 하는 URI 문자열 부분에만 사용된다는 점에서 encodeURI() 함수와 다릅니다. URI 구성 요소는 구성 요소 분리 기호(: / ; 및 ? )라고 불리는 특수 문자 사이에 나타나는 모든 텍스트입니다. URI 구성 요소의 일반적인 예로는 "http" 및 "www.adobe.com"이 있습니다.

이 함수와 encodeURI() 사이의 또 다른 중요한 차이점은, 이 함수에서는 URI 구성 요소를 처리하는 것으로 가정하므로 특수 분리 기호 문자(; / ? : @ & = + $ , #)가 인코딩 대상인 일반 텍스트로 취급된다는 점입니다.

다음 표에서는 encodeURIComponent 함수를 통해 UTF-8 이스케이프 시퀀스로 변환되지 않는 문자를 모두 보여 줍니다.

인코딩되지 않는 문자
0 1 2 3 4 5 6 7 8 9
a b c d e f g h i j k l m n o p q r s t u v w x y z
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
- _ . ! ~ * ' ( )
escape () 함수  

매개 변수를 문자열로 변환하고 URL 인코딩 형식으로 인코딩합니다. 이때 영숫자가 아닌 문자는 대부분 % 16진수 시퀀스로 바뀝니다. URL 인코딩 문자열에 사용된 퍼센트 기호(%)는 이스케이프 문자를 시작하는 역할을 하며 모듈러스 연산자(%)와 다릅니다.

다음 표에서는 escape() 함수를 통해 이스케이프 시퀀스로 변환되지 않는 문자를 모두 보여 줍니다.

인코딩되지 않는 문자
0 1 2 3 4 5 6 7 8 9
a b c d e f g h i j k l m n o p q r s t u v w x y z
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
@ - _ . * + /



출처 : http://manacle.egloos.com/4776614

'프로그래밍' 카테고리의 다른 글

[Eclipse] JadClipse Plug-in (Decompiler)  (1) 2009.10.14
[JS] encode 함수 비교  (0) 2009.10.01
개발자의 심리학  (2) 2009.10.01
RFC3852 - Cryptographic Message Syntax(CMS)  (0) 2009.07.30

태그

댓글 0

[JS] Event Keycode 목록

2008. 7. 15.


BACKSPACE = 8
TAB = 9
ENTER = 13
SHIFT = 16
CTRL = 17
ALT = 18
PAUSEBREAK = 19
CAPSLOOK = 20
한/영 = 21
한자 = 25
ESC = 27

SPACE = 32
PAGEUP = 33
PAGEDN = 34
END = 35
HOME =36

←(중간) = 37
↑(중간) = 38
→(중간) = 39
↓(중간) = 40

INSERT = 45
DELETE = 46

0 = 48
1 = 49
2 = 50
3 = 51
4 = 52
5 = 53
6 = 54
7 = 55
8 = 56
9 = 57

A = 65
B = 66
C = 67
D = 68
E = 69
F = 70
G = 71
H = 72
I = 73
J = 74
K = 75
L = 76
M = 77
N = 78
O = 79
P = 80
Q = 81
R = 82
S = 83
T = 84
U = 85
V = 86
W = 87
X = 88
Y = 89
Z = 90

윈도우(왼쪽) = 91
윈도우(오른쪽) = 92
기능키 = 93

0(오른쪽) = 96
1(오른쪽) = 97
2(오른쪽) = 98
3(오른쪽) = 99
4(오른쪽) = 100
5(오른쪽) = 101
6(오른쪽) = 102
7(오른쪽) = 103
8(오른쪽) = 104
9(오른쪽) = 105


.(오른쪽) = 110
/(오른쪽) = 111
*(오른쪽) = 106
+(오른쪽) = 107
-(오른쪽) = 109

F1 = 112
F2 = 113
F3 = 114
F4 = 115
F5 = 116
F6 = 117
F7 = 118
F8 = 119
F9 = 120
F10 = 121
F11 = 122
F12 = 123

NUMLOCK = 144
SCROLLLOCK = 145
=(중간) = 187
-(중간) = 189
`(왼쪽콤마) = 192
\(중간) = 220


출처 : phpschool

'프로그래밍' 카테고리의 다른 글

[Eclipse] 단축키 모음  (0) 2008.07.18
[JS] Event Keycode 목록  (0) 2008.07.15
Confluence(WIKI) + Oracle setup  (2) 2008.03.28
오픈 소스 기반의 개발 프레임워크 구축 방안  (3) 2008.03.07
댓글 0

[JS] 객체 지향 기술을 이용한 고급 웹 응용 프로그램 만들기

2008. 2. 15.


Javascript 객체 지향 기술을 이용한 고급 웹 응용 프로그램 만들기 (MSDN)


'javascript 그까이거 뭐 대충~ 이름만 잘 지어서 공통 function 몇 개 만들고,
그때 그때 필요한 function들만 잘 짜면 되는거 아냐?' 하고 생각했던 저같은 개발자들에게
꼭 필요한 자료라고 생각합니다.

실제로 사이트 개발 중 가장 많은 시간은 할애하는 것이 javascript와 HTML인데,
그걸 알면서도 이 부분은 공부를 잘 안하게 되는 것이 아무래도 Client script 언어라 하여
조금 낮춰 보았던 게 아닐까 하는 생각이 드네요.

그렇지 않아도 1~2년 전쯤 회사 시스템에 Nitobi라는 회사의 상용 javascript 그리드를 적용할 때나
DOJO Toolkit study시 소스 분석을 하려 하다가 방대한 양의 난생 처음보는 구조의 javascript를 보고
좌절한 경험이 있는데, 지금부터라도 좀 열심히 공부해야 할 것 같습니다.

실제로 사내에서 쓰고 있는 수많은 javascript function들을  위 강좌와 같이 객체지향 적으로 설계를 하고
개발을 하면, 관리가 훨씬 수월해 질 것 같네요!

열공합시다 ^^!

댓글 0

[JS] Event 일람

2006. 8. 28.

- onAbort 이미지를 읽다가 중단시켰을 때 발생
- onActivate 개체가 활성활 될 때 발생
- onAfterPrint 문서가 출력되거나 혹은 출력하기 위해 출력미리보기를 한후에 발생
- onAfterUpdate 데이터영역 개체에서 발생하는 이벤트로 데이터 소스 오브젝트내의 데이터가 업데이트 되었을 때 발생
- onBeforeActivate 개체가 활성화 상태로 되기 바로 직전에 발생
- onBeforeCopy 선택 영역이 시스템의 클립보드로 복사되기 바로 직전에 발생
- onBeforeCut 선택 영역이 지워지기 바로 직전에 발생
- onBeforedeActivate 현재 개체에서 다른 개체로 activeElement가 바뀌기 직전에 발생
- onBeforeEditFocus 편집가능한 개체 내부에 포함된 개체가 편집활성화 된 상태가 되거나 혹은 편집가능한 개체가 제어를 위해 선택될 때 발생
- onBeforePaste 시스템의 클립보드에서 문서로 붙여넣기 될때 대상 개체에서 발생
- onBeforePrint 문서가 출력되거나 혹은 출력하기 위해 출력미리보기 직전에 발생
- onBeforeunload 페이지가 언로드되기 직전에 발생
- onBeforeUpdate 데이터영역 개체에서 발생하는 이벤트로 데이터 소스 오브젝트내의 데이터가 업데이트 되기전에 발생
- onBlur 포커스가 다른 곳으로 이동했을 때 발생
- onBounce 마퀴태그에서 alernate상태에서 스크롤이 양 사이드에서 바운드 될때 발생
- onCellChange 데이터제공 개체에서 데이터가 변화할때 발생
- onChange 수정등과 같은 작업에 의해서 값이나 포커스를 잃을 경우 발생되는 이벤트 핸들러
- onClick 마우스로 클릭했을 때 발생
- onContextMenu 클라이언트 영역에서 사용자가 마우스 오른쪽 버튼을 눌러 콘텍스트 메뉴를 열때 발생
- onControlSelect 사용자가 개체의 제어 영역을 만들때 발생
- onCopy 시스템의 클립보드에 선택영역 혹은 개체를 복사할 때 소스 개체로부터 발생
- onCut 시스템의 클립보드에 선택영역 혹은 개체를 잘라낼때 소스 개체로부터 발생
- onDataAvailable 비정기적으로 데이터를 전달하는 데이터 소스 개체로부터 데이터가 도착할 때 마다 정기적으로 발생
- onDatasetChanged 데이터 소스개체의 변화에 의해 데이터가 노출된 상태로 될때 발생
- onDatasetComplete 데이터 소스 개체로부터 모든 데이터가 유용한 상태로 표시될때 발생
- onDbClick 마우스를 더블클릭 했을 때 발생
- onDeactivate 현재 개체에서 다른 개체로 activeElement가 바뀔때 발생
- onDragEnd 드래그 상태가 끝날때 소스 객체로 부터 발생
- onDragEnter 사용자가 개체를 드래그 하여 드롭가능 위치로 지정된 영역으로 이동할때 타겟 개체에서 발생
- onDragLeave 사용자가 개체를 드래그 하여 드롭가능 위치로 지정된 영역을 떠날때 타겟 개체에서 발생
- onDragOver 사용자가 개체를 드래그 하여 드롭가능 위치로 지정된 영역내에서 드래그할 때 계속적으로 타겟 개체에서 발생
- onDragStart 선택된 개체 혹은 텍스트 영역에서 사용자가 드래그를 시작할 때 발생
- onDrag 드래그 상태가 지속되는 동안 소스 객체로 부터 발생
- onDrop 드래그앤드롭 작용에서 상태가 진행되는 동안 개체가 타겟 개체에 드롭되었을 때 타겟 개체어서 발생
- onErrorUpdate 데이터 소스 개체 내에 데이터가 업데이트 되는 동안 에러가 발생할 때 데이터 영역 개체에서 발생
- onError 문서나 이미지를 읽다가 에러가 발생했을 때 발생
- onFilterChange 비주얼 필터의 상태가 바뀌거나 트랜지션이 완료되었을 때 발생
- onFinish 마퀴개체의 loop가 완료되었을 때 발생
- onFocusin 개체에 포커스가 셋팅되기 바로 직전 개체에 대해 발생
- onFocusout 포커스가 다른 개체로 이동한 후에 포커스를 가고 있는 현재 개체에서 발생
- onFocus 포커스가 들어왔을 때 발생
- onHelp 브라우저가 활성화 되어 있는 동안 F1키를 눌렀을 때 발생
- onKeyDown 키를 입력했을 때 발생
- onKeypress 키를 눌렀을 때 발생
- onKeyup 키를 눌렀다 놓았을 때 발생
- onLayoutComplete 소스 문서로 부터 콘텐드를 가지는 객체가 미리보기나 출력을 할때 현재 LayoutRect개체를 모두 채우는 것이 끝났을 때 발생
- onLoad 브라우저에서 문서가 읽혀졌을 때 발생
- onLoseCapture 개체가 마우스 캡쳐를 잃었을 때 발생
- onMouseDown 마우스 버튼을 눌렀을 때 발생
- onMouseEnter 개체 안으로 마우스 포인터가 들어올때 발생
- onMouseleave 개체의 경계밖으로 마우스 포인터가 이동할 때 발생
- onMouseMove 마우스를 움직였을 때 발생
- onMouseout 마우스 커서가 특정 영역 또는 링크에서 벗어날 때 발생
- onMouseOver 마우스가 객체 위에 놓여졌을 때 발생
- onMouseup 마우스버튼을 눌렀다 놓았을 때 발생
- onMousewheel 마우스 휠이 돌아갈때 발생
- onMoveEnd 개체가 움직임이 끝날 때 발생
- onMoveStart 개체가 움직이기 시작할 때 발생
- onMove 윈도우나 프레임을 움직였을 때 발생
- onPaste 문서에 클립보드로 부터 데이터가 전송될때 타겟 개체에서 발생
- onPropertyChange 개체의 속성이 바뀔대 발생
- onReadystateChange 개체의 상태가 변화할때 발생
- onReset 입력양식에서 리셋시켰을 때 발생
- onResizeEnd 제어영역에서 개체의 크기가 사용자에 의해 변화가 끝날때 발생
- onResizeStart 제어영역에서 개체의 크기가 사용자에 의해 변화되기 시작할때 발생
- onResize 윈도우나 프레임의 크기를 바꾸었을 때 발생
- onRowenter 데이터 소스내에서 현재 열이 변화되거나 개체에 새로운 유용한 데이터가 입력될때 발생
- onRowExit 데이터 소스 콘트롤이 개체내의 현재 열을 변화시킬 때 발생
- onRowsDelete 레코드셋에서 열이 삭제될때 발생
- onRowsInserted 현재 레코드셋에 새로운 열이 추가된후에 발생(데이터 개체에서)하는 이벤트 핸들러
- onScroll 사용자가 개체내의 스크롤 바를 스크롤 할때 발생
- onSelectionChange 문서의 선택 영역의 상태가 바뀔때 발생
- onSelectStart 개체가 선택되기 시작할때 발생
- onSelect 입력양식의 한 필드를 선택했을 때 발생
- onStart 마퀴개체에서 매 루프가 시작될때 발생
- onStop 사용자가 stop버튼을 눌렀을 경우 혹은 페이지를 떠날때 발생
- onSubmit 입력양식을 서버로 보낼 때 발생
- onUnload 문서를 닫고자 할 때, 또는 다른 페이지로 이동하고자 할 때 발생


댓글 0

[JS] Array 객체

2005. 8. 11.

* 생성 방법

var 배열객체명 = new Array();
var 배열객체명 = new Array(배열의 개수);
var 배열객체명 = new Array(배열1, 배열2...배열n);


* Array 객체의 속성과 메소드

1. 속성
- length : 배열의 길이(갯수)에 대한 정보를 담고 있습니다
 
2. 메소드
- concat(배열객체명) : 두 개의 배열을 합쳐 한 개의 배열로 만들어 줍니다
- join(문자열) : 각 배열값들을 결합해서 하나의 문자열로 만들어 줍니다. 괄호안의 문자들이 구분자의 역할을 하며, 구분자를 생략하였을 때는 "," 가 자동으로 사용됩니다
- reverse() : 배열의 순서를 역순으로 바꾸어 줍니다
- sort(비교함수) : 비교함수를 지정해 주면 비교함수에서 지정한 대로 정열이 되고, 지정하지 않을 경우에는 알파벳 순으로 정열합니다
- slice(시작, 끝) : 배열의 일부를 선택해서 새로운 배열을 생성합니다


출처 : http://jasko.co.kr


댓글 0