웹 프로그래밍/Javascript

[JavaScript] 특수문자 제거 정규식

Dannian 2017. 10. 31. 14:21
반응형

오랜만에 웹 개발로 돌아왔습니다...

한동안 게임이랑 아이폰 앱 개발만 하다보니 감을 다 잃어서 기억도 되살릴 겸 정리 해 봅니다.

 

정규식, 정규표현식은 특정 패턴과 동일한 문자열을 찾기위해 사용하는 검색 패턴입니다.

이런 정규식의 패턴은 여는 슬래시(/)와 닫는 슬래시(/) 사이에 작성하게 됩니다.

아래는 특수문자 제거 정규식 예제입니다.

function regExp_test(){ 
	//함수를 호출하여 특수문자 검증 시작. 
    var str = "2017-10-31,''"; 
    var regExp = /[\{\}\[\]\/?.,;:|\)*~`!^\-_+<>@\#$%&\\\=\(\'\"]/gi; 
    if(regExp.test(str)){
    	var t = str.replace(regExp, ""); //특수문자를 대체. "" 
        alert("특수문자 제거. ==>" + t); //특수문자 제거. ==>20171031 
    }else{ 
    	alert("특수문자 없음 "+str); 
    } 
    //특수문자 검증 끝. 
} 

 

예제에서

var regExp = /[\{\}\[\]\/?.,;:|\)*~`!^\-_+<>@\#$%&\\\=\(\'\"]/gi; 

 

부분 중 맨 앞과 gi 바로 앞에 있는 / 사이에 패턴들이 들어가게 됩니다.

패턴에 따옴표가 포함되지 않는 이상 작은따옴표(')나 큰 따옴표(")는 사용하면 안됩니다...

regExp 변수에 들어가는 패턴은 지정한 특수문자들을 제거하기 위한 식입니다.

{}[]/?.,;:|)*~`!^-_+<>@#$%&\=('" 기호들을 선언하고 지워주는건데, 원하는 것만 골라서 작성 할 수도 있겠죠.

 

다른 방식으로는 

var regExp = /[^(가-힣ㄱ-ㅎㅏ-ㅣa-zA-Z0-9)]/gi; 
// 만약 숫자 외의 것들을 걸러내고 싶다면 /[^(0-9)]/gi; 처럼 쓰면 됩니다. 
// 일반적으로 숫자만 사용하는 비밀번호 혹은 전화번호 입력에 사용되겠죠. 
// input의 type이 number로 설정했을때 잘 작동하면 좋겠지만 안되는 경우도 있으니... 
// 이걸로 거르는 것도 한가지 방법이 될 수 있겠습니다. 

 

이렇게 적어 줄 수 있습니다.

위의 식 같은경우 한글, 영어 소문자, 영어 대문자, 숫자를 제외한 모든걸 패턴화 시키는 것입니다.

저 식들을 활용하여

if(regExp.test(str)){ <br /> } 

if문을 실행하고 그 내부에 replace함수를 통해 다른 형식으로 바꿔주는 겁니다.

정규식 특수 문자

참고 링크 : http://icoon22.tistory.com/220

 

[Javascript cookbook] 2.정규표현식 사용하기

정규표현식 사용하기 2.0 들어가며 정규 표현식은 주어진 패턴에 일치하는 문자열을 찾기 위해 하용하는 검색 패턴이다. RegExp도 리터럴과 객체를 모두 가지고 있다. 정규표현식 패턴은 여는 슬

icoon22.tistory.com

 

Dannian의 블로그입니다.

 

 

본 포스팅은 학습 또는 정리를 목적으로 쓰인 글입니다.

내용중 틀린 것이 있다면 댓글로 알려주시면 감사하겠습니다!

반응형