>백엔드 개발 >PHP 문제 >PHP에서 휴대폰 번호를 확인하는 방법

PHP에서 휴대폰 번호를 확인하는 방법

PHPz
PHPz원래의
2023-03-29 10:13:314302검색

PHP 휴대폰 번호 인증 방법

휴대폰 번호는 사람들의 일상생활에서 없어서는 안 될 연락 수단이 되었고, 휴대폰 번호 인증 역시 매우 중요한 부분입니다. 웹사이트 등록 및 SMS 수신과 같은 시나리오에서 휴대폰 번호의 합법성과 정확성을 보장하려면 PHP 언어를 사용하여 휴대폰 번호가 합법적인지 확인해야 합니다. 이번 글에서는 PHP를 사용하여 휴대폰 번호를 인증하는 방법을 다음과 같은 측면에서 자세히 소개하겠습니다.

  1. 휴대폰번호 길이 확인

중국에서는 휴대폰 번호가 11자리이므로 먼저 입력한 휴대폰 번호가 11자리인지 확인해야 합니다. 그렇지 않으면 합법적인 휴대폰이 아닙니다. 전화 번호. PHP에서는 strlen() 함수를 사용하여 문자열의 길이를 얻어 입력한 휴대폰 번호가 11자리인지 확인할 수 있습니다.

if (strlen($mobile) != 11) {
    // 不是一个合法的手机号码
}
  1. 휴대폰번호 앞 3자리 인증

중국에서는 휴대폰번호 앞 3자리가 서로 다른 통신사를 나타내기 때문에 입력한 휴대폰번호 앞 3자리를 인증해야 합니다. 그것의 정당성.

// 中国移动: 134/135/136/137/138/139/150/151/152/157/158/159/182/183/184/187/188/198
// 中国联通: 130/131/132/155/156/185/186/166
// 中国电信: 133/149/153/173/177/180/181/189/199

$prefix = substr($mobile, 0, 3); // 截取前三位

if (!in_array($prefix, ['134', '135', '136', '137', '138', '139', '150', '151', '152', '157', '158', '159', '182', '183', '184', '187', '188', '198', '130', '131', '132', '155', '156', '185', '186', '166', '133', '149', '153', '173', '177', '180', '181', '189', '199'])) {
    // 不是一个合法的手机号码
}
  1. 휴대폰 번호 형식 확인

중국의 휴대폰 번호에는 특정 형식 요구 사항이 있습니다. 일반적인 형식에는 다음이 포함됩니다.

// 11位数字,如:13912345678
// 带区号的11位数字,如:02012345678、075512345678
// 带“-”的11位数字,如:139-1234-5678、020-1234-5678、0755-1234-5678

따라서 위의 형식 요구 사항이 맞는지 확인하려면 정규식을 사용해야 합니다. 만났다.

// 11位数字
if (!preg_match('/^1[3-9]\d{9}$/', $mobile)) {
    // 不是一个合法的手机号码
}

// 带区号的11位数字
if (!preg_match('/^0\d{2,3}\d{7,8}$/', $mobile)) {
    // 不是一个合法的手机号码
}

// 带“-”的11位数字
if (!preg_match('/^(\d{3}-|\d{4}-)?\d{7,8}$/', $mobile)) {
    // 不是一个合法的手机号码
}
  1. 위의 인증 방법과 결합

마지막으로 위의 세 가지 인증 방법을 결합하여 PHP에서 휴대폰 번호 인증을 구현합니다.

function validateMobile($mobile) {
    if (strlen($mobile) != 11) {
        return false;
    }

    $prefix = substr($mobile, 0, 3);
    if (!in_array($prefix, ['134', '135', '136', '137', '138', '139', '150', '151', '152', '157', '158', '159', '182', '183', '184', '187', '188', '198', '130', '131', '132', '155', '156', '185', '186', '166', '133', '149', '153', '173', '177', '180', '181', '189', '199'])) {
        return false;
    }

    if (!preg_match('/^1[3-9]\d{9}$/', $mobile) && !preg_match('/^0\d{2,3}\d{7,8}$/', $mobile) && !preg_match('/^(\d{3}-|\d{4}-)?\d{7,8}$/', $mobile)) {
        return false;
    }

    return true;
}

// 示例
if (validateMobile('13912345678')) {
    echo '手机号码合法';
} else {
    echo '手机号码不合法';
}

위는 PHP에서 휴대폰 번호를 확인하는 방법입니다. 위의 세 가지 확인 방법을 결합하면 입력된 휴대폰 번호의 적법성과 정확성을 효과적으로 확인할 수 있습니다. 실제 개발에서는 이 메서드를 공용 함수로 캡슐화하여 여러 시나리오에서 호출을 용이하게 할 수도 있습니다.

위 내용은 PHP에서 휴대폰 번호를 확인하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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