만약 특수문자를 제외하고 검색하는 정규표현식 방법은 어떻게 될까요? 아래에서 자세히 알아봅니다.

예를들어 새로운 가입자의 아이디 또는 닉네임등을 입력받으려면 특수문자를 제외해야합니다. 이 경우 특수문자를 제외하는 방법으로 한글, 영문, 숫자 또는 공백만 허용하면 될 것 입니다. 그럼 정규표현식에서 공백, 문자, 숫자만 입력된 경우에만 검색하는 방법을 알아봅니다.
아래 예제는 자바스크립트의 경우이며 패턴은 다른 정규식에도 사용가능합니다.



# 정규표식에 특수문자를 제외하고 문자, 숫자 허용하기

아래는 정규표현식에서 특수문자를 제외하는 패턴을 만들고 테스트 해보려합니다. 단, 공백은 허용되지 않습니다.
var str = '가나다abc123';
var pattern = /^[a-zA-Zㄱ-힣0-9]*$/;

if (str.match(pattern)) {
  if (str.match(pattern).length > 0) {
    // 패턴이 일치함, 코드는 여기
  }
  else {
    // 패턴이 일치하지 않음
  }
}

만약 스페이스를 허용할 경우 아래와 같이 정규식을 적용하여 사용합니다.



# 검색어에 특수문자를 제외하고 문자, 숫자, 공백만 허용하기

위 정규식과 동일하나 공백을 허용합니다.
var str = '가나다abc123';
var pattern = /^[a-zA-Zㄱ-힣0-9|s]*$/;

if (str.match(pattern)) {
  if (str.match(pattern).length > 0) {
    // 패턴이 일치함, 코드는 여기
  }
  else {
    // 패턴이 일치하지 않음
  }
}

이제 특수문자를 제외하되 스페이스는 허용하여 코드를 수행하게 됩니다.