현재 위치: > 최신 기사 목록> preg_match 함수로 휴대폰 번호 형식 확인 : 자세한 정규 표현식 작성 및 예제

preg_match 함수로 휴대폰 번호 형식 확인 : 자세한 정규 표현식 작성 및 예제

gitbox 2025-08-07
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// 이 기사는 사용 방법을 설명합니다PHP사내preg_match기능 휴대 전화 번호 형식을 확인하는 기능。</span></span><span>
</span><span><span class="hljs-comment">// 우리는 상세한 정규 표현 구문 분석 및 실제 예를 제공 할 것입니다.,이해하고 적용하는 데 도움이됩니다。</span></span><span>
</span><span><span class="hljs-comment">// --------------------------------------------------------------</span></span><span>

</span><span><span class="hljs-meta">?></span></span><span>
<h1>사용preg_match기능 검증 휴대 전화 번호 형식:상세한 정규 표현 쓰기 및 예</h1>

<p>존재하다Web개발 중,사용户注册、정보 작성 및 기타 시나리오에는 종종 휴대폰 번호의 형식 확인이 필요합니다.。PHP中可以使사용<strong>preg_match</strong>기능 조합<strong>정규 표현</strong>이 기능을 완료합니다。本文将详细介绍如何使사용preg_match중국 본토에서 휴대 전화 번호 형식의 기능 확인。</p>

<h2></span><span><span class="hljs-number">1</span></span><span>. preg_match기능 소개</h2>
<p>preg_match예PHP中사용于정규 표현匹配的函数,구문은 다음과 같습니다:</p>

<pre><code></span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-title function_ invoke__">preg_match</span></span><span>(</span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$pattern</span></span><span>, </span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$subject</span></span><span>, </span><span><span class="hljs-keyword">array</span></span><span> &</span><span><span class="hljs-variable">$matches</span></span><span> = </span><span><span class="hljs-literal">null</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$flags</span></span><span> = </span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$offset</span></span><span> = </span><span><span class="hljs-number">0</span></span><span>)

안에:

  • $ 패턴 : 일치하는 정규 표현
  • $ 주제 : 검색 할 문자열
  • $ 일치합니다 : 제공되면 모든 일치하는 결과가 채워집니다

2. 중국 본토 휴대 전화 번호 형식

중국 본토의 휴대 전화 번호는 일반적으로 11 자리이며 , 두 자리는 일반적 으로 3-9 입니다 . 특정 규칙은 다음과 같습니다.

  • 첫 번째 위치는 1 입니다
  • 두 번째 숫자는 3 에서 9 사이의 숫자 입니다 .
  • 다음 9 자리 0-9 입니다

이 규칙에 따르면, 당신은 다음과 같은 정규 표현을 쓸 수 있습니다.

 <span class="fun">/^</span> <span> <span class = "hljs-number"> 1 </span> </span> <span> [</span> <span> <span class = "hljs-number"> 3 </span> </span> <span>-</span> <span> <span class = "hljs-number"> 9 </span> <span> </span> </d span>] 클래스 = "HLJS-Number"> 9 </span> </span> <span>} $/</span>

3. 샘플 코드
 &lt;?php
</span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">isValidPhoneNumber</span></span><span>(</span><span><span class="hljs-params"><span class="hljs-variable">$number</span></span></span><span>) {
    </span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-title function_ invoke__">preg_match</span></span><span>(</span><span><span class="hljs-string">'/^1[3-9]\d{9}$/'</span></span><span>, </span><span><span class="hljs-variable">$number</span></span><span>) === </span><span><span class="hljs-number">1</span></span><span>;
}

</span><span><span class="hljs-comment">// 예:</span></span><span>
</span><span><span class="hljs-variable">$numbers</span></span><span> = [
    </span><span><span class="hljs-string">'13812345678'</span></span><span>, </span><span><span class="hljs-comment">// 정당한</span></span><span>
    </span><span><span class="hljs-string">'19900000000'</span></span><span>, </span><span><span class="hljs-comment">// 정당한</span></span><span>
    </span><span><span class="hljs-string">'12812345678'</span></span><span>, </span><span><span class="hljs-comment">// 불법적인(第二位不예3-9)</span></span><span>
    </span><span><span class="hljs-string">'1391234567'</span></span><span>,  </span><span><span class="hljs-comment">// 불법적인(길이가 충분하지 않습니다)</span></span><span>
    </span><span><span class="hljs-string">'139123456789'</span></span><span> </span><span><span class="hljs-comment">// 불법적인(너무 길다)</span></span><span>
];

</span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-variable">$numbers</span></span><span> </span><span><span class="hljs-keyword">as</span></span><span> </span><span><span class="hljs-variable">$num</span></span><span>) {
    </span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">isValidPhoneNumber</span></span><span>(</span><span><span class="hljs-variable">$num</span></span><span>)) {
        </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<span class="hljs-subst">$num</span></span></span><span> 예정당한的手机号\n";
    } </span><span><span class="hljs-keyword">else</span></span><span> {
        </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<span class="hljs-subst">$num</span></span></span><span> 예불법적인的手机号\n";
    }
}
?&gt;

4. 정규 표현에 대한 자세한 설명
  • ^ : 문자열의 시작과 일치합니다
  • 1 : 첫 번째 휴대 전화 번호는 1 이어야합니다
  • [ 3-9 ] : 휴대폰 번호의 두 번째 위치는 3 에서 9 사이 입니다.
  • \ d {9} : 다음 9 자리 (\ d는 숫자를 나타냅니다. {9} 반복되는 9 번을 나타냅니다)
  • $ : 문자열의 끝을 일치시킵니다

5. 요약

적절한 정규 표현식과 결합 된 preg_match를 사용하면 휴대 전화 번호 형식을 효율적으로 확인할 수 있습니다. 기존 프로젝트의 경우이 방법은 간단하고 빠르며 정확하며 불법 휴대 전화 번호가 시스템에 들어가는 것을 효과적으로 방지 할 수 있습니다.

물론,보다 복잡한 검증 요구 (예 : 운영자 번호 세그먼트, 국제 번호 등)와 같은 경우 정규 표현식을 추가로 최적화하거나 특수 번호 라이브러리를 검증에 사용할 수 있습니다.