FrontEnd/JavaScript

Modern JavaScript 정규표현식

is..cy 2023. 2. 18. 14:36

 

 

 

 


1. Regular Expression

  • new ReqExp(/ab+c/, i)  : 정규식 객체

 

  • Flag 종류
Flag Meaning Description
i Ignore Case 대소문자를 구별하지 않고 검색
g Global 문자열 내의 모든 패턴을 검색
m Multi Line 문자열의 행이 바뀌더라도 검색을 계속

 

  • RegExp.prototype.exec() : ['is', index : index, input : "sentence"]
  • RegExp.prototype.test() :  인수에 정규표현식으로 검증하여 Boolean형태로 반환
  • String.prototype.replace() / String.prototype.search() / String.prototype.split()   
  • String.prototype.match() : Metacharacter 혹은 기호로 패턴형태로 반환

 

const targetStr = 'AA BB Aa Bb';

// 임의의 문자 3개를 반복하여 검색
const regexr = /.../g;

console.log(targetStr.match(regexr)); // [ 'AA ', 'BB ', 'Aa ' ]

 


 

2. 자주 사용하는 정규표현식 

• /^http/   : 특정단어로 시작하는지
• /^\d+$/ 
: 숫자인지 아닌지
• /^[A-Za-z0-9]{4,10}$/  : 아이디로 사용 가능한지 
• /http$/  : 특정단어로 끝나는지  
• /^[\s]+/ : 1개 이상의 공백으로 시작하는지
• /^\d{3}-\d{3,4}-\d{4}$/  :  핸드폰 형식
• /^[0-9a-zA-Z]([-_\.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-     _\.]?[0-9a-zA-Z])*\.[a-zA-Z]{2,3}$/  : 메일주소 형식
• /[\{\}\[\]\/?.,;:|\)*~`!^\-_+<>@\#$%&\\\=\(\'\"]/gi  : 특수문자 존재여부