>백엔드 개발 >PHP 튜토리얼 >PHP 정규식을 사용하여 입력 문자열이 올바른 휴대폰 번호 형식인지 확인하는 방법

PHP 정규식을 사용하여 입력 문자열이 올바른 휴대폰 번호 형식인지 확인하는 방법

PHPz
PHPz원래의
2023-06-24 11:49:571980검색

모바일 인터넷 시대에 휴대폰 번호는 사람들에게 없어서는 안 될 커뮤니케이션 수단이 되었습니다. 동시에 휴대폰 번호의 형식도 점점 더 다양해지고 있습니다. 입력한 휴대폰 번호가 올바른 형식인지 PHP 정규식을 통해 확인하는 방법은 무엇입니까? 이번 글에서는 휴대폰 번호 형식을 확인하는 PHP 정규식을 자세히 소개하겠습니다.

1. 휴대폰 번호 형식 확인

PHP 정규식을 사용하여 휴대폰 번호 형식을 확인하는 방법을 소개하기 전에 먼저 휴대폰 번호 형식을 확인해야 합니다. 중국 본토의 휴대전화 번호는 일반적으로 11자리로 나뉩니다. 일반적인 형식은 다음과 같습니다.

  1. 휴대전화 번호는 13, 14, 15, 16, 17, 18, 19로 시작하고 그 뒤에 9자리가 옵니다.
  2. 중국 휴대전화 번호 형식은 139, 138, 137, 136, 135, 134, 159, 158, 157, 150, 151, 152, 147, 182, 183, 184, 187, 188, 178, 198, 등.
  3. 차이나유니콤 휴대폰 번호 형식은 130, 131, 132, 155, 156, 185, 186, 145, 176, 166 등으로 시작합니다.
  4. China Telecom의 휴대폰 번호 형식은 133, 153, 180, 181, 189, 177, 173 등으로 시작합니다.

2. 정규식을 사용하여 휴대폰 번호 형식 확인

PHP 정규식을 사용하여 휴대폰 번호 형식을 확인하려면 preg_match() 함수를 사용해야 합니다. 이 함수는 두 개의 매개변수를 받습니다. 첫 번째 매개변수는 정규식이고 두 번째 매개변수는 일치시킬 문자열입니다.

다음은 일반적으로 사용되는 몇 가지 정규식입니다.

  1. China Mobile, China Unicom, Telecom에 관계없이 1로 시작하는 모든 11자리 숫자를 허용합니다: /^1[0-9]{10}$/.

설명: ^는 시작을 의미하고, $는 끝을 의미하며, [0-9]는 0-9의 임의의 숫자를 의미하고, {10}은 숫자가 10번 반복된다는 의미, 즉 총 11자리 숫자가 있음을 의미합니다.

예:

$pattern = '/^1[0-9]{10}$/';
$mobile_number = '13888888888';
if(preg_match($pattern, $mobile_number)){
    echo '手机号码格式正确!';
}else{
    echo '手机号码格式不正确!';
}

출력:

手机号码格式正确!
  1. 모든 휴대폰 번호 허용: /^(13[4-9]|14[7-8]|15[0-2,7-9]|166|17 [2-8]|18[2-4,7-8]|19[8,9])d{8}$/.

설명: |는 또는의 관계를 나타내고, []는 문자 중 하나를 선택하는 것을 나타내고, -는 범위를 나타내고, d는 임의의 숫자를 나타내고, {8}은 8번 반복되는 숫자, 즉 총 11자리를 나타냅니다.

예:

$pattern = '/^(13[4-9]|14[7-8]|15[0-2,7-9]|166|17[2-8]|18[2-4,7-8]|19[8,9])d{8}$/';
$mobile_number = '13988888888';
if(preg_match($pattern, $mobile_number)){
    echo '手机号码格式正确!';
}else{
    echo '手机号码格式不正确!';
}

출력:

手机号码格式不正确!
  1. 모든 China Unicom 휴대폰 번호 허용: /^(13[0-2]|15[5-6]|17[56]|18[5-6]|145 |166)d{8}$/.

설명: 위와 동일합니다.

예:

$pattern = '/^(13[0-2]|15[5-6]|17[56]|18[5-6]|145|166)d{8}$/';
$mobile_number = '13188888888';
if(preg_match($pattern, $mobile_number)){
    echo '手机号码格式正确!';
}else{
    echo '手机号码格式不正确!';
}

출력:

手机号码格式正确!
  1. 모든 통신 휴대폰 번호 허용: /^(133|153|170[0-2]|173|177|180|181|189|199)d{8} $ /.

설명: 위와 동일합니다.

예:

$pattern = '/^(133|153|170[0-2]|173|177|180|181|189|199)d{8}$/';
$mobile_number = '17012345678';
if(preg_match($pattern, $mobile_number)){
    echo '手机号码格式正确!';
}else{
    echo '手机号码格式不正确!';
}

출력:

手机号码格式正确!

3. 프로그램에서 휴대폰 번호 형식 확인을 구현합니다.

다음은 입력한 휴대폰 번호가 중국 본토의 휴대폰 번호 형식 요구 사항을 충족하는지 확인하는 완전한 PHP 프로그램입니다. :

function validate_mobile_number($mobile_number){
    $reg_exs = [
            '/^1[0-9]{10}$/',//接受所有以1开头的11位数字,不区分移动、联通、电信
            '/^(13[4-9]|14[7-8]|15[0-2,7-9]|166|17[2-8]|18[2-4,7-8]|19[8,9])d{8}$/',//接受所有移动手机号码
            '/^(13[0-2]|15[5-6]|17[56]|18[5-6]|145|166)d{8}$/',//接受所有联通手机号码
            '/^(133|153|170[0-2]|173|177|180|181|189|199)d{8}$/'//接受所有电信手机号码
            ];
    foreach($reg_exs as $reg_ex){
        if(preg_match($reg_ex, $mobile_number)){
            return true;
        }
    }
    return false;
}

$mobile_number = '13312345678';

if(validate_mobile_number($mobile_number)){
    echo '手机号码格式正确!';
}else{
    echo '手机号码格式不正确!';
}

출력:

手机号码格式正确!

IV. 요약

이 글에서는 PHP 정규식을 사용하여 입력 문자열이 올바른 휴대폰 번호 형식인지 확인하는 방법을 소개합니다. 실제 개발에서는 필요에 따라 적절한 정규식을 선택하고 이를 프로그램에 삽입하여 휴대폰 번호 형식을 확인할 수 있습니다. 이 기사가 모든 사람이 PHP 정규식 사용법을 더 잘 익히는 데 도움이 되기를 바랍니다.

위 내용은 PHP 정규식을 사용하여 입력 문자열이 올바른 휴대폰 번호 형식인지 확인하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.