[PHP] 정규표현식 한글 검사
2022. 9. 19. 01:21ㆍProgram/PHP
072_PHP 정규표현식 한글 검사
[요약]
- 변수의 값이 한글인지를 정규표현식을 사용해 검사하는 방법에 대해 알아보자.
값이 모두 한글로 구성되어 있는지 확인하는 방법에 대해 알아보자.
한글은 '가'로 시작하여 '힣'으로 끝난다.
'가'부터 '힣'까지를 표시하려면 기호 '-'를 사용한다.
간격(구간)을 지정하려면 '['와 ']' 사이의 간격(구간)을 입력한다.
한글로만 구성되어야 하므로 첫글자도 한글, 마지막 글자도 한글이어야 첫 글자를 의미하는 기호인 '^'와 마지막 글자를 의미하는 기호인 '$'를 사용하여 다음의 패턴식을 구성한다.
$pattern '/^[가-힣]$/';
시작하는 기호 '^' 다음으로 간격(구간) [가-힣]가 위치하므로 '가'부터 '힣'까지의 문자가 첫 글자로 위치해야 하며 끝나는 기호 앞에 기호 '$'가 위치해 '가' 부터 '힣'까지의 문자로 끝나는 것을 의미한다.
앞의 패턴에서 몇 바이트 검사를 할지 지정해야 한다.
바이트를 지정하지 않으면 1byte를 검사한다.
정규식에서 영문과 특수문자는 한 글자당 1byte이며, 한글은 한 글자당 3byte이다.
패턴 검사할 byte는 간격 뒤에 '{}'를 사용해 검사할 byte 수를 지정한다.
1글자를 검사한다면 {3}을 지정하고, 3글자를 검사한다면 {9}를 지정한다.
또한 1그랒 이상 검사한다면 {3,}을 지정한다.
물론 여기에서도 1byte 이상 검사하는 '+'를 사용해도 무관하다.
[패턴 검사할 byte 지정하는 방법]
한글 1글자 검사하기
$pattern = '/^[가-힣]{3}$/';
한글 3글자 검사하기
$pattern = '/^[가-힣]{9}$/';
한글 3글자에서 5글자까지 검사하기
$pattern = '/^[가-힣]{9, 15}$/';
한글 3글자 이상 검사하기
$pattern = '/^[가-힣]{9,}$/';
다음은 값이 모두 한글로 구성되었는지 확인하는 예제이다.
[예제: 74-regExp.php ]
<?php
// 패턴 대입
$pattern = '/^[가-힣]{3,}$/';
$str = "웹코딩시작하기";
if (preg_match($pattern, $str, $matches)) {
echo "값 {$str}은(는) 정규식 표현에 적합한 값입니다.";
echo "<pre>";
var_dump($matches);
echo "</pre>";
} else {
echo "이름에 특수문자, 영문 또는 숫자가 있는지 확인 요망.";
}
?>
실행결과
초보자를 위한 PHP 200제
김태영 지음 | 정보문화사
'Program > PHP' 카테고리의 다른 글
[PHP] 정규표현식 영문 소문자 검사 (1) | 2022.09.19 |
---|---|
[PHP] 정규표현식 영문 대문자 검사 (2) | 2022.09.19 |
[PHP] 정규표현식 preg_match() (2) | 2022.09.19 |
[PHP] include와 require를 한 번만 호출하기 (0) | 2022.09.17 |
[PHP] 하나의 파일을 여러곳에서 사용하기 include, require (0) | 2022.09.17 |