반응형

 

 

목적 : 지도 API를 이용해서 정보를 보여주고, 또 주소 url에 넘겨주기 위해 사용

 

 

먼저, 보여줄 문자열에서 앞의 몇개의 문자를 잘라 필요한 만큼만 출력하는 방법

= substr을 사용한다

 

substr 사용예시

const str = '주소 : 서울특별시 강남구 삼성동 영동대로 513';

var sl = str.length;

console.log(str.substr(5,sl-5));
// expected output: "서울특별시 강남구 삼성동 영동대로 513"

//str.substr(A,B);
//A: str 문자열 중에서 자를 위치 (배열처럼 0부터 시작)
//B: A에서부터 몇개의 문자를 자를것인지 개수 입력

 

const str = 'Mozilla';

console.log(str.substring(1, 3));
// expected output: "oz"

console.log(str.substring(2));
// expected output: "zilla"

한글은 2칸인줄 알았는데 한글 공백 특수문자 모두 다 같은듯

 

 

 

 

encodeURI 사용하는 이유

= URI를 전달 할 때 문제가 없도록 인코딩 하는 용도

 

보통, 웹을 통해서 데이터를 전송할 때 특정 문자들은 특수한 기능으로 사용한다

 

예를들어, http://a.com?name=egoing&job=programmer 에서
&job=programmer 중 '&'하나의 파라미터가 끝나고 다음 파라미터가 온다는 의미이다.


그런데 다음과 같이 job의 값에 &문자가 포함된다면 시스템은 job의 값을 제대로 인식할수 없게 된다.
http://a.com?name=egoing&job=programmer&blogger


이런 문제를 회피하기 위해서 다음과 같이 치환해준다.
http://a.com?name=egoing&job=programmer%26blogger
그럼 시스템에서는 %26&로 해석하여 원래의 의도대로 값을 해석할 수 있게 된다.
이러한 처리를 이스케이핑(escaping)라고 부른다.

 

 

 

encodeURI 사용예시

 

활용 예시

//주소 url인코딩 네이버 지도 API 응용본

const uri = 'nmap://place?lat='+lat_+'&lng='+long_+'&name='+Addr+'&appname=www.naver.com';
const encoded = encodeURI(uri);

//인코딩 값 테스트용 출력
console.log('주소 url 인코딩 : ' +encoded);

기존에 사용하는 lat_, long_, Addr 변수들을 사용하여 변수 uri에 넣은 다음

encodeURI을 사용하여 인코딩을 해주면 사용할수있다

 

 

 

 

 

참고 : 

 

문자열 자르기

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/String/substr

 

String.prototype.substr() - JavaScript | MDN

substr() 메서드는 문자열에서 특정 위치에서 시작하여 특정 문자 수 만큼의 문자들을 반환합니다.

developer.mozilla.org

 

 

문자열 url 인코딩

https://opentutorials.org/course/50/189

 

encodeURI - 생활코딩

요약(Summary) URI를 전달 할 때 문제가 없도록 인코딩 문법(Syntax) encodeURI(encodedURI) 인자(Parameters) 인자명 데이터형 필수/옵션 설명 encodedURI string 필수 인코딩할 문자열 반환값(Return) string, 인코딩된

opentutorials.org

 

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/encodeURI

 

encodeURI() - JavaScript | MDN

encodeURI() 함수는 URI의 특정한 문자를 UTF-8로 인코딩해 하나, 둘, 셋, 혹은 네 개의 연속된 이스케이프 문자로 나타냅니다.

developer.mozilla.org

 

반응형

+ Recent posts