1) eregi 함수
eregi("검사할문자", "검사대상문자열");
- 검사대상문자열에 검사할 문자가 있으면 TRUE(1),
  검사대상문자열에 검사할 문자가 없으면 FALSE(null) 가 결과로 나오게 된다
- ereg함수는 대소문자 구별을하며 eregi함수는 대소문자 구별을 하지 않는다
ex)
<?
$str = "a";
echo eregi($str, "abcd"); // TRUE
echo eregi($str, "ABCD"); // TRUE
echo eregi($str, "wxyz"); // FALSE
echo ereg($str, "abcd"); // TRUE
echo ereg($str, "ABCD"); // FALSE
echo ereg($str, "wxyz"); // FALSE
?>
2) 정규표현식 ^ / $ / . / * / + / ?
| 연산자 | 설명 | 
| ^ | 문자열의 시작을 의미 | 
| $ | 문자열의 끝을 의미 | 
| . | 임의의 한 문자 | 
| * | 바로 앞의 문자가 없거나 하나 이상 | 
| + | 바로 앞의 문자가 하나이상 | 
| ? | 바로 앞의 한 문자가 없거나 있음 | 
ex) 
^a      ==> a로 시작하는 모든 문자열 (a, ab, abc, abcd, ....)
a$      ==> a로 끝나는 모든 문자열 (a, ba, cba, ....)
a.b     ==> a와 b사이에 한 문자가 있는 문자열 (acb, zajb, aaibl, ....)
a*      ==> a가 없거나 하나 이상 (모두참)
a*b    ==> a가 없거나 하나 이상이며 b가 있음 (b, ab, addddddb, ....)
a+      ==> a가 한글자 이상 (a, bbbba, bbba, bbbaaabbbbb, ....)
^ba?c ==> a가 없거나 있고 b로 시작하며 c를 포함 (bac, bc, bbbaccc, ....)
※ bbbaeccc는 b와c사이에 a외의 값이 있으면 거짓
3) 정규표현식 () / {} / [] / -
| 연산자 | 설명 | 
| ( ) | 문자열의 그룹 지정 | 
| {min, max} | 바로 앞 문자의 반복횟수 지정 | 
| [ ] | [ ]안의 문자중 하나이상 | 
| A-Z | A ~ Z 사이의 문자 | 
ex)
(ab)         ==> 문자열중 ab가 있음 (ab, abb, cab, cabd, ....)
(ab){1,2}  ==> ab가 1개이상 2개 이하인 문자열 (ab, abab, ....)
[abcde]   ==> abcde 중 하나이상의 문자 (wxyaz, wxyadz, ....)
[a-z]       ==> a ~ z중 하나이상의 문자 (012a, a, Aa, ....)
[:Alnum:]  ==> 알파벳과 숫자를 의미
[:Alpha:]  ==> 알파벳을 의미
[:digit:]    ==> 숫자의미
[:Xdigit:]  ==> 16진수를 의미
4)예제
- 숫자
^(-?[1-9][0-9]*)$ (정수)
^[0-9]+(.[0-9]+)?$ (소수)
- e-mail
^[_0-9a-zA-Z-]+(.[_0-9a-zA-Z]+)*@[0-9a-zA-Z-]+(.[0-9a-zA-Z-]+)*$
- 주민번호
^[0-9]{2}(0[1-9]|1[0-2])(0[1-9]|[12][0-9]|3[01])-[1-4][0-9]{6}$
- 한글
^[ㄱ-ㅎ가-힣]$
'Coding > Etc' 카테고리의 다른 글
| MySQL 문자열관련 함수 (0) | 2015.01.27 | 
|---|---|
| PHP실행기 (0) | 2014.05.29 | 
| ereg / eregi / ereg_replace / eregi_replace 함수 (0) | 2014.05.04 | 
| 기본적인 MySQL 문법 (0) | 2014.05.02 | 
| HttpOnly를 이용한 쿠키 하이재킹 방지 (0) | 2014.04.28 |