일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- not working
- 우분투
- 안드로이드
- 자동 생성
- 설치
- php 시큐어코딩
- xe
- soundpool
- 안드로이드 푸시
- 폼메일
- Android
- roundcube
- php 취약점
- WebView
- 자바스크립트
- C# IO
- PHP
- android 효과음
- C#
- curl
- 안드로이드 gcm
- 안드로이드 푸쉬
- dovecot
- FCM
- Mail Server
- javascript
- mysql
- html5
- UML
- chart.js
- Today
- Total
그러냐
자바스크립트 urlencode(), urldecode(), rawurlencode(), rawurldecode() 본문
자바스크립트에서 URL을 처리해서 리다리렉트 시커거나 하는 등의 작업을 할 때 한글이 섞여 있는 URL의 경우 이 한글문제 때문에 제대로 수행되지 않는 경우가 있다.
서버스크립트라면 URL인코딩 함수(PHP의 경우 urlencode())를 사용하면 되지만, 자바스크립트에서는 이런 역할(예를 들면 '가'를 '%EA%B0%80'으로 인코딩 해주는 역할)을 해 주는 함수가 없기 때문에 이를 직접 정의해서 사용하면 된다.
function urlencode(str) {
str = (str + '').toString();
return encodeURIComponent(str)
.replace(/!/g, '%21')
.replace(/'/g, '%27')
.replace(/\(/g, '%28')
.replace(/\)/g, '%29')
.replace(/\*/g, '%2A')
.replace(/%20/g, '+');
}
function urldecode(str) {
return decodeURIComponent((str + '')
.replace(/%(?![\da-f]{2})/gi, function() {
return '%25';
})
.replace(/\+/g, '%20'));
}
function rawurlencode(str) {
str = (str + '').toString();
return encodeURIComponent(str)
.replace(/!/g, '%21')
.replace(/'/g, '%27')
.replace(/\(/g, '%28')
.replace(/\)/g, '%29')
.replace(/\*/g, '%2A');
}
function rawurldecode(str) {
return decodeURIComponent((str + '')
.replace(/%(?![\da-f]{2})/gi, function() {
return '%25';
}));
}
함수 출처: http://phpjs.org
'javascript' 카테고리의 다른 글
주소 복사 스크립트 (0) | 2016.01.27 |
---|---|
우클릭 완벽차단 스크립트 (0) | 2016.01.27 |
FORM 서브밋 시 return false 의 중요성 (0) | 2016.01.27 |
유투브 외부제어 (0) | 2016.01.27 |
모바일 웹 기기 식별하기 (0) | 2016.01.27 |