replace(치환)
➡️ 문자열의 특정 문자를 제거하거나 모든 공백을 없앨 때 사용한다.
replace()는 찾을 문자열 한개만 치환되기 때문에 Java의replaceAll처럼 사용하려면 정규식을 사용해야 한다.
arr.replace(찾을 문자열, 변경할 문자열)
옵션
- g(global) : 모든 패턴 체크
- i : 대소문자 구별 없이 체크
- m : 여러줄 체크
- s : “dotAll”; 줄 바꿈과 일치 하는 . 을 허용
- ^ : 처음
- $ : 끝
- . : 한 문자
정규식을 활용한 특정 문자 제거
- arr.replace(/찾을 문자열/gi, "변경할 문자열")
- arr.replace(' ','') : 첫번째 공백 제거
- arr.replace(/-/g,'') : - 제거
- arr.replace(/,/g,'') : , 제거
- arr.replace(/^\s+/,'') : 앞의 공백 제거
- arr.replace(/\s+$/,'') : 뒤의 공백 제거
- arr.replace(/^\s+|\s+$/g,'') : 앞뒤 공백 제거
- arr.replace(/\s/g,'') : 문자열 내의 모든 공백 제거
- arr.replace(/\n/g,'') : 개행 제거
- arr.replace(/\r/g,'') : 엔터 제거
예시
const str = '안녕 하세요?';
str.replace(/(\s*)/g, "");
$.trim(str);
정규표현식
- 정해진 규칙을 사용해 모든 문자를 변환할 수도 있고 숫자,번호나 맨 처음, 맨 뒤만 변환할 수 있음.
- /^[0-9-]{12,12}∣[0−9]10,10/ : 0~9의 숫자와 특수문자 -사용가능한 12자리수 or 0~9의 숫자의 10자리수
- /^[a-zA-Z0-9]{1,20}$/ : a~z, A~Z, 0~9인 1~20자리수까지
- /^.(?=^.{8,15}$)(?=.\d)(?=.[a-zA-Z])(?=.- [!@#$%^&+=]).*$/ : 영문,숫자,특수문자로 이루어진 8~15자리 (비밀번호에 많이사용)