hsunny study blog

전화번호 정규식 본문

programming/PHP

전화번호 정규식

헤써니 2020. 8. 31. 23:28
 
<?php
function isPhoneNumber($str) {
  $filteringStr = preg_replace("/[^0-9]/","",$str); // 숫자만 남기기 위한 코드
  return (preg_match("/^(01[016789]{1})\d{3,4}\d{4}$/", $filteringStr) ? false : true;
}
?>

하나하나 뜯어보기

preg_replace()

preg_replace("[정규식 패턴]" , "[바꿀 패턴]" , "[검색 대상 문자열]");
// 인수를 더 사용할 수 있습니다. 추가 정보는 PHP 공식문서(클릭)를 확인해주세요.

/[^0-9]/

0-9(숫자가 들어간 Text)를 제외한 문자열

 

$filteringStr = preg_replace("/[^0-9]/","",$str)

$str 중 숫자가 아닌 문자들은 모두 공백으로 바꾸어 $filteringStr에 담습니다.

 

preg_match()

preg_match("[정규식 패턴]","[검색 대상 문자열]")
// 인수를 더 사용할 수 있습니다. 추가 정보는 PHP 공식문서(클릭)를 확인해주세요.

/^(01[016789]{1})\d{3,4}\d{4}$/

^ : 뒤의 조건을 부정함

(01[016789]{1}) : 01로 시작하고, 그다음 글자는 0,1,6,7,8,9 에 포함하는 글자가 1개

\d{3,4} : 숫자 3개 혹은 4개

\d{4} : 숫자 3개

$ : 입력의 끝을 의미

 

(preg_match("/^(01[016789]{1})\d{3,4}\d{4}$/"$filteringStr)

preg_match 는 $filteringStr이 정규식 패턴(핸드폰번호 유형이 아닌 경우)에 일치하는 경우 1을 리턴하고 아닌 경우 0을 리턴하고, 오류가 발생한 경우 FALSE를 리턴합니다.

 

 

참고사이트

developer.mozilla.org/ko/docs/Web/JavaScript/Guide/정규식#special-negated-character-set

'programming > PHP' 카테고리의 다른 글

apachectl  (0) 2021.03.07
PDO 적용기  (0) 2020.12.27
쿼리스트링 형식을 변수로 인식하는 parse_str()  (0) 2019.10.05
-> 와 =>의 차이점  (0) 2019.07.28
배열을 하나의 문자열로 만드는 함수  (0) 2019.07.21