NATIVE

settings_applicationsObject  >   settings_applicationsString  >   settings_applications[[Prototype]]

NATIVE

Draft
  • account_tree
  • bug_report

Arrayresultmatch(ObjectregExp)

설명

대상 문자열이 인수로 주어진 정규식과 매치되는 부분을 테스트한다.

구문

기본형식
string.match(regExp)

매개 변수

ObjectregExp필수

정규표현식 객체를 설정한다. 정규표현식 객체에 대해서는 RegExp를 참고하길 바란다.

반환

Arrayresult

정규표현식과 일치하는 경우 g 플래그가 포함되었다면 일치하는 모든 문자열을 원소로 갖는 배열을 반환하고 g 플래그가 포함되어 있지 않다면 일치하는 첫번째 문자열만 원소로 갖는 배열을 반환한다. 일치하는 게 없다면 null을 반환한다.

기술 문서

이메일 유효성을 검증하는 정규표현식과 match() 메소드의 사용

정규표현식 패턴

var emailRegexp = /[0-9a-zA-Z][_0-9a-zA-Z-]*@[_0-9a-zA-Z-]+(.[_0-9a-zA-Z-]+){1,2}$/;

emailRegexp라는 변수를 선언하고 리터럴로 정규표현식 인스턴스 객체를 생성한다. 리터럴이 아닌 방식으로 정규표현식 인스턴스 객체를 생성하는 경우에는 아래와 같이 new 키워드를 이용해서 RegExp() 생성자 함수를 실행한다. 생성자 함수의 인수로 정규표현식 패턴을 설정한다.

var emailRegexp = new RegExp("[0-9a-zA-Z][_0-9a-zA-Z-]*@[_0-9a-zA-Z-]+(.[_0-9a-zA-Z-]+){1,2}$");

정규표현식 패턴은 매우 복잡하여 초보자(때론 중급자)가 직접 원하는 패턴을 작성하기는 어려울 수 있다. 쉬운 것 부터 시작하여 차근차근 공부하면 충분히 해낼 수 있으며 정규표현식을 잘 다루게 되면 막강한 무기를 장착한 것 같다.

위의 이메일을 검증하는 패턴을 잠깐 분석한다면 이메일 주소는 일반적으로 영문과 숫자, -, _ 등이 포함된 이메일 아이디와 @ 뒤에 이메일 호스트를 갖는다. 따라서 이러한 주소 패턴을 정규표현식으로 작성하면 된다.

패턴 중에 '[0-9a-zA-Z]'은 한 문자열 속에 0에서 9사이의 숫자 또는 a에서 z의 알파벳, A에서 Z의 알파벳의 조합으로 구성되어야 한다는 뜻을 가지고 있다. 이렇게 정규표현식의 패턴을 작성할 때는 다양한 규칙이 있고 이 규칙을 활용하여 원하는 검사 패턴을 작성한다.

정규표현식에 대한 자세한 내용은 해당 객체인 RegExp 레퍼런스를 참조하길 바란다. 

예제로 제공된 정규표현식 패턴은 올바른 이메일 주소를 검증하는 것으로 실제로 코드에 사용하여도 훌륭하게 작동한다.

String 객체의 prototype 메소드인 match()는 생성된 정규표현식 객체를 이용하여 해당 문자열을 검색한다. 샘플로 제시된 정규표현식 패턴은 g 플래그가 포함되지 않았으므로 일치하는 첫번째 문자열을 원소로 갖는 배열을 반환한다. 일치하지 않는 경우에는 null 값을 반환하므로 if 문으로 분기가 가능하다. 즉 null은 Boolean으로 false이고 만일 배열을 반환한다면 true로 형변환이 된다.

버전 명세

  • ECMAScript 3초기 정의, JavaScript 1.2에서 구현

지원 웹브라우저