이전 글에서 "PHP의 정규표현식 함수에 대해 이야기해볼까요? 사용 방법(코드 포함) ", 이 기사에서는 PHP에서 휴대폰 번호를 일치시키기 위해 정규식을 사용자 정의할 수 있는 방법을 계속해서 소개합니다.
PHP에서 휴대폰 번호를 일치시키기 위해 정규식을 어떻게 사용자 정의합니까?
휴대전화 번호의 경우 중국 본토에서는 일반적으로 1로 시작하고 중간 두 자리는 3 4 5 7 8일 수 있고 두 번째 숫자가 3이면 세 번째 숫자는 0-9일 수 있다는 것을 우리 모두 알고 있습니다. , 두 번째 숫자가 4라면 세 번째 숫자는 7이 될 수 있고,
두 번째 숫자가 5라면 세 번째 숫자는 0~8이 될 수 있고, 두 번째 숫자가 7이라면 세 번째 숫자는 0~8이 될 수 있고, 만약 두 번째 숫자는 8이고 세 번째 숫자는 0-9일 수 있으며 다음 8자리는 어떤 조합으로도 조합될 수 있습니다. 휴대폰 번호를 얻으면 일반 매칭을 수행하고 ($pattre)를 입력해야 합니다. 휴대폰 번호는 정확히 일치해야 하므로 (^$)를 추가해야 합니다. 1로 시작하고 d{8}로 끝납니다. 이때 세 번째 숫자가 이면 괄호를 추가하고 수정해야 합니다. 3, 세 번째 숫자는 0-9가 될 수 있습니다. 이것이 첫 번째 경우입니다.
다음으로 필드를 입력하고 일치시킵니다.
코드 데모:
<?php /* 第一位1 第二位3 4 5 7 8 第三位0-9 7 0-8 01235678 0-9 后八位0-9任意 */ $phone =' 12345678901 ' ; $pattern = '/^1(?:3[0-9])\d{8}$/S'; $result = preg_match($pattern, $phone); echo '匹配结果为:' . $result;
데모 결과는 다음과 같습니다.
데모 결과 일치 결과가 0인 것으로 나타났습니다. 분명히 일치하지 않았습니다.
입력 필드를 133으로 변경하면... 다시 실행하여 일치 결과가 1이라는 것을 알 수 있습니다. 시연 결과는 다음과 같습니다.
유추하자면 0-9의 범위를 초과하지 않는 한 일치하는 결과는 1이 될 수 있습니다.
두 번째 숫자가 4이면 세 번째 숫자는 7만 있어야 합니다. 이때 코드를 47로 변경해야 합니다. 코드는 다음과 같습니다.
$phone ='13345678901';
131을 141로 변경하면 일치하는 결과가 0임을 알 수 있습니다(코드는 결과를 다음과 같이 표시합니다). 다음), 두 번째 숫자가 4이면 세 번째 숫자는 7만 될 수 있다고 선언했기 때문입니다. 출력이 147이면 일치하는 결과는 1입니다. 코드는 다음과 같습니다.
$pattern = '/^1(?:3[0-9]|47)\d{8}$/S';
시연 결과는 다음과 같습니다.
두 번째 숫자가 5인 경우 첫 번째 세 자리 숫자는 0~8일 수 있으며 코드는 다음과 같습니다.
$phone ='14745678901'; $pattern = '/^1(?:3[0-9]|47)\d{8}$/S';
두 번째 숫자가 7이면 세 번째 숫자는 0-3.5-8입니다.
$phone ='15045678901'; $pattern = '/^1(?:3[0-9]|47|5\d)\d{8}$/S';
두 번째 숫자는 8이고 세 번째 숫자는 0-9일 수 있습니다. 코드는 다음과 같습니다.
$phone ='17045678901'; $pattern = '/^1(?:3[0-9]|47|5\d|7[0-35-8])\d{8}$/S';
추천 학습: "PHP 비디오 튜토리얼
"위 내용은 PHP에서 휴대폰 번호를 일치시키기 위해 정규식을 어떻게 사용자 정의합니까? (코드 포함)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!