728x90
자바스트립트에서 replace 메서드를 사용하면 첫 번째 문자만 치환이 되고 작동이 멈춘다.
String 클래스에 replaceAll 메서드를 추가하여 쉽게 문자를 치환 할 수 있다.
□ 방법 1. String prototype 메서드 추가
//replaceAll prototype 선언 String.prototype.replaceAll = function(org, dest) { return this.split(org).join(dest); } //replaceAll 사용 var str = "Hello World"; str = str.replaceAll("o","*"); alert(str);
설명 :
str = str.split("o");
출력 : ["Hell", " W", "rld"] //해당 문자로 배열이 만들어진다.
str = str.join("*");
출력 : Hell* W*rld //배열을 해당 문자로 합친다.
□ 방법 2. 정규식 사용
var str = "Hello World"; str = str.replace(/o/g,"*"); alert(str);
설명 :
replace(/o/g,"*") : o를 *로 전체 치환한다.
replace(/o/gi,"*") : o를 *로 대/소문자 구분 없이 전체 치환한다.
g : 발생할 모든 pattern에 대한 전역 검색
i : 대/소문자 구분 안함
정규식에서 사용하는 특수문자( . ^ ( ) )를 치환할 때는 escape(\) 문자를 붙여 주어야 한다.
str = "Hello World.";
str = str.replace(/\./, "!");
출력 : Hello World!
728x90
'Script' 카테고리의 다른 글
textarea 특정 위치에 원하는값 넣기 (0) | 2015.11.16 |
---|---|
string boolean number 형변환 (0) | 2015.10.30 |
인터넷 익스플로러 교차스크립트 xss 기능 동작 우회 방법 (0) | 2015.10.28 |
브라우저 구분 (0) | 2015.10.28 |
iframe 에서 부모창과 자식 창의 함수 호출 (0) | 2015.10.12 |