본문 바로가기

기타

[정규표현식]플래그 문자, 메타 문자

<script>
//정규식 : $& 일치하는 문자열

//플래그 문자
var regExp = /a/ig; //플래그 문자: g-전역 비교, i- 대소문자 구분x, m//i g의 순서 상관x
var string = "Javascript jQuery Ajax";
var output = string.replace(regExp, "+$&+");//결과 : J+a+v+a+script jQuery +A+j+a+x
alert(output);

//메타 문자:
// . : 아무 글자
// [abc] : 괄호 안의 글자
// [^abc] : 괄호 안의 글자 제외
// [a-z] : 알파벳 a부터 z까지
// [A-Z] : 알파벳 A부터 Z까지
// [0-9] : 숫자 0부터 9까지
var regExp = /[aj]/ig;
var string = "Javascript jQuery Ajax";
var output = string.replace(regExp, "+$&+");
alert(output) //결과 : +J++a+v+a+script +j+Query +A++j++a+x (괄호 안의 문자가 대소구분 없이 변경
</script>

 

 

실질적인 예제 : 주민등록 번호

<script>

var regExp = /\d\d\d\d\d\d-[1234]\d\d\d\d\d/;
var string = "910209-2001211";
var output = string.replace(regExp, "+$&+");
alert(output);

// \d의 반복적인 기입을 수량 문자를 사용하면 줄일 수 있다.
var regExp = /\d{6}-[1234]\d{6}/;

/* 수량문자
* a+ - a가 적어도 1 개 이상
* a* - a 0 개 또는 여러 개
* a? - a 0 개 또는 1
* a{5} - a 5
* a{2, 5} - a 2 ~ 5
* a{2,} - a 2 개 이상
* a{,2} - a 2 개 이하
*
* */
</script>

 

 

더 많은 정규식 표현 : https://soooprmx.com/archives/7718

http://pupustory.tistory.com/132