[JavaScript] replace와 정규식

dev.galim·2023년 4월 14일
0

JavaScript

목록 보기
1/6

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, "");	// 전체 공백제거 방법

// use jQuery 
$.trim(str);

정규표현식

  • 정해진 규칙을 사용해 모든 문자를 변환할 수도 있고 숫자,번호나 맨 처음, 맨 뒤만 변환할 수 있음.
  • /^[0-9-]{12,12}[09]10,10|^[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자리 (비밀번호에 많이사용)
profile
열심히 해볼게요

0개의 댓글