>백엔드 개발 >PHP 튜토리얼 >PHP 정규 표현식을 사용하여 휴대폰 번호 또는 유선 전화 번호 형식을 확인하는 방법

PHP 정규 표현식을 사용하여 휴대폰 번호 또는 유선 전화 번호 형식을 확인하는 방법

WBOY
WBOY원래의
2023-06-24 08:30:062470검색

웹 애플리케이션을 개발할 때 사용자가 입력한 휴대폰 번호나 유선 전화 번호가 올바른 형식인지 확인해야 하는 경우가 종종 있습니다. 확인을 용이하게 하고 입력이 올바르지 않을 때 사용자에게 메시지를 표시하기 위해 PHP에서 정규식을 사용하여 숫자 형식이 요구 사항을 충족하는지 감지할 수 있습니다.

다음에서는 PHP 정규식을 사용하여 휴대폰 번호 또는 유선 전화 번호 형식을 확인하는 방법을 소개합니다.

휴대폰 번호 형식 확인

중국 본토의 휴대폰 번호는 1로 시작하는 11자리입니다. 확인을 위해 다음 정규 표현식을 사용할 수 있습니다.

$phone_pattern = '/^1d{10}$/';

여기서:

  • ^은 문자열의 시작 부분부터 일치함을 의미합니다.
  • 1은 숫자 1로 시작해야 함을 의미합니다.
  • d는 모든 숫자 문자와 일치함을 의미합니다.
  • {10 }는 일치하는 숫자를 의미합니다. 10번 반복되는 문자
  • $는 문자열의 끝까지 일치함을 의미합니다.

이 정규 표현식은 1로 시작하는 11자리 숫자와 조건의 검증을 보장할 수 있습니다. 이를 PHP 코드에 적용하면 다음과 같은 예를 얻을 수 있습니다.

function check_mobile($mobile) {
    $phone_pattern = '/^1d{10}$/';
    if (preg_match($phone_pattern, $mobile)) {
        return true;
    } else {
        return false;
    }
}

// 示例测试
$mobile = '13712341234';
if (check_mobile($mobile)) {
    echo "手机号码格式正确";
} else {
    echo "手机号码格式错误";
}

유선 전화 번호 형식을 확인하세요

유선 전화 번호 형식은 비교적 복잡하며, 유선 전화 번호 형식은 지역마다 다릅니다. 예를 들어 베이징의 유선 전화 번호는 다음과 같습니다. 숫자 1로 시작하는 10자리입니다. 또는 2로 시작하는 상하이의 유선 전화 번호는 숫자 2로 시작하는 8자리 또는 9자리입니다. 범용 유선전화 번호 형식 검증 기능을 구현하기 위해서는 유선 전화 번호 형식별로 서로 다른 정규식을 작성해야 합니다.

다음은 베이징과 상하이의 유선 전화번호를 예로 들어 해당 정규식을 작성하는 방법을 보여줍니다.

베이징 지역 유선 전화 번호

베이징 유선 전화 번호는 숫자 1 또는 2로 시작하고 그 뒤에 8자리가 옵니다. 확인을 위해 다음 정규식을 사용할 수 있습니다.

$tel_pattern = '/^(010|02d)d{8}$/';

여기서:

  • ^은 문자열의 시작 부분부터 일치함을 의미합니다.
  • (010|02d)는 010 또는 02로 시작하는 세 자리 숫자를 의미하고, |는 또는 일치를 의미합니다. 모든 숫자
  • d{8}는 8개의 숫자 문자와 일치함을 의미합니다.
  • $는 문자열의 끝과 일치함을 의미합니다.

이 정규식은 숫자가 1 또는 2로 시작하고 뒤에 8이 오는지 확인하는 조건을 보장할 수 있습니다. 숫자. 이를 PHP 코드에 적용하면 다음과 같은 예를 얻을 수 있습니다.

function check_tel_beijing($tel) {
    $tel_pattern = '/^(010|02d)d{8}$/';
    if (preg_match($tel_pattern, $tel)) {
        return true;
    } else {
        return false;
    }
}

// 示例测试
$tel = '01012345678';
if (check_tel_beijing($tel)) {
    echo "座机号码格式正确";
} else {
    echo "座机号码格式错误";
}

상하이 지역 유선 전화 번호

상하이 유선 전화 번호는 숫자 2로 시작하고 그 뒤에 8~9자리가 옵니다. 확인을 위해 다음 정규 표현식을 사용할 수 있습니다.

$tel_pattern = '/^2d{7}(?:d{1})?$/';

여기서:

  • ^은 문자열의 시작 부분부터 일치함을 의미합니다.
  • 2는 숫자 2로 시작해야 함을 의미합니다.
  • d{7}는 7개의 숫자 문자와 일치함을 의미합니다.
  • (? :d{1})?는 숫자 1개 일치를 의미하고, ?:는 캡처하지 않는 그룹을 의미하며, ?는 그룹이 선택 사항임을 의미합니다.
  • $는 문자열 끝과 일치함을 의미합니다.

이 정규식은 다음을 보장합니다. 검증은 숫자 2로 시작하고 8~9자리 숫자 조건이 뒤따릅니다. 이를 PHP 코드에 적용하면 다음과 같은 예를 얻을 수 있습니다.

function check_tel_shanghai($tel) {
    $tel_pattern = '/^2d{7}(?:d{1})?$/';
    if (preg_match($tel_pattern, $tel)) {
        return true;
    } else {
        return false;
    }
}

// 示例测试
$tel = '0211234567';
if (check_tel_shanghai($tel)) {
    echo "座机号码格式正确";
} else {
    echo "座机号码格式错误";
}

Summary

PHP 정규 표현식을 사용하여 휴대폰 번호와 유선 전화 번호 형식을 확인하면 웹 애플리케이션에서 사용자 입력 데이터의 정확성을 효과적으로 향상시킬 수 있습니다. 이 기사에서는 가장 일반적인 휴대폰 번호 및 유선 전화 번호 형식에 적합하고 필요에 따라 수정 및 확장할 수도 있는 검증용 정규식을 작성하는 방법을 소개합니다.

위 내용은 PHP 정규 표현식을 사용하여 휴대폰 번호 또는 유선 전화 번호 형식을 확인하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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