[PHP] 정규표현식 preg_match() (1) - 한글 검사 패턴
- 공유 링크 만들기
- 이메일
- 기타 앱
[PHP] 정규표현식 preg_match() (1) - 한글 검사 패턴
정규표현식이란?
어떠한 값에 대해서 그 값이 한글로만 구성되어 있는지 영어로만 구성되어 있는지 또는 어떤 특별한 패턴을 지키고 있는지에 대해 체크할 때 사용하는 방식. 예를 들어 회원가입을 할 때 전화번호 또는 이메일 주소가 옳은 형식을 갖추었는지를 검사할 수 있다.
preg_match() : 정규 표현식의 패턴을 사용할 때 사용되는 함수
구성 preg_match(패턴, 검사할 텍스트, 반환할 패턴 결과를 받을 변수)
패턴은 싱글쿼테이션 '과 슬래시 / 사이에 입력한다.
첫 번째 글자를 적용하는 기호는 캐럿 기호 이다.
끝나는 글자를 적용하는 기호는 달러 기호 $이다.
문자열의 값이 a인지 확인하는 패턴식을 적용한 예제이다.
패턴식은 검사할 바이트 수나 횟수를 지정하지 않으면 기본적으로 1byte를 검사한다.
고로 변수 str에 aaa를 넣게 되면 else 문이 출력된다.
1byte 이상의 값을 검사하기 위해서는 패턴식을 검사하는 값 뒤에 1byte 이상을 검사하는 기호로 플러스 + 를 사용한다.
변수 pattern을 '/^a+$/'로 변경하면 문자열이 1byte 이상이여도 패턴식 검사에 문제가 없다.
정규표현식 한글 검사
한글은 '가'로 시작하여 '힣'으로 끝나며 한 글자당 3byte를 차지한다.
간격은 대괄호로 표시하고 패턴 검사할 byte는 간격 뒤에 중괄호를 사용하여 검사할 byte 수를 지정한다.
한글 1글자 검사하기 한글 3글자 검사하기 한글 3글자~5글자 검사하기 한글 3글자 이상 검사하기 $ptn = '/^[가-힣]{3}$/'; $ ptn = '/^[가-힣]{9}$/'; $ ptn = '/^[가-힣]{9, 15}$/'; $ ptn = '/^[가-힣]{9,}$/';
값이 한글로만 구성되어 있는지 확인하는 예제
Result
홍길동은(는) 적합한 이름입니다.
단, 띄어쓰기는 허용되지 않는다.
from http://youngdev57.tistory.com/41 by ccl(A) rewrite - 2020-03-12 19:54:11
- 공유 링크 만들기
- 이메일
- 기타 앱
댓글
댓글 쓰기