>  기사  >  백엔드 개발  >  PHP 개발 기술(12) - 일반적으로 사용되는 PHP 정규 표현식의 예제 코드에 대한 자세한 설명

PHP 개발 기술(12) - 일반적으로 사용되는 PHP 정규 표현식의 예제 코드에 대한 자세한 설명

黄舟
黄舟원래의
2017-03-17 15:42:361580검색

정규 표현식 은 사전 정의된 특정 문자와 이러한 특정 문자의 조합을 사용하여 "일반 문자열"을 형성하는 데 사용됩니다. 문자열에 대한 필터링 논리를 표현합니다. 오늘의 블로그 포스팅은 앞으로 개발 시 폼 검증, 문자열 검색 등을 수행할 수 있도록 일반적으로 사용되는 PHP 정규식 몇 가지를 모아 놓은 것입니다.

1. 휴대폰 번호 매칭 정규식

휴대폰 번호 매칭 규칙:
휴대폰 번호 기본 형식:
처음 3개 숫자는 다음과 같습니다.
휴대폰: 134-139 147 150-152 157-159 182 187 188
China Unicom: 130-132 155-156 185 186
통신: 133 153 180 189
마지막 8자리 숫자: 0-9 숫자

/** 
 * @param $mobile string 需要验证的手机号 
 * @return string 
 */  
function pregMobile($mobile)  
{  
    $rule = "/^((13[0-9])|147|(15[0-35-9])|180|182|(18[5-9]))[0-9]{8}$/A";  
    if (preg_match($rule, $mobile, $result)) {  
        return $result;  
    } else {  
        return "不匹配!";  
    }  
}

2. 이메일 주소 일치를 위한 정규 표현식

이메일 일치 규칙:
이메일 주소의 기본 형식은 **입니다. ***@**.* *@ 앞에는 대문자와 소문자 또는 숫자가 오고, 그 뒤에는 0부터 여러 개의 대문자와 소문자 또는 숫자가 오고, 앞에는 1부터 문자열이 옵니다. 여러 개의 대문자 및 소문자 또는 숫자 다음에 1부터 그 이상의 대문자 및 소문자 또는 숫자 또는 .

/** 
 * @param $email string 邮箱号 
 * @return string 结果 
 */  
function pregEmail($email)  
{  
    $rule = '/^[a-zA-Z0-9][a-zA-Z0-9._-]*\@[a-zA-Z0-9]+\.[a-zA-Z0-9\.]+$/A';  
    if (preg_match($rule, $email, $result)) {  
        return $result;  
    } else {  
        return "不匹配!";  
    }  
}

3. 전화번호 일치를 위한 정규식

전화번호 일치 전화번호 규칙:
지역번호: 3~5자리, 대부분 4자리, 베이징(010)과 상하이(021)의 경우 3자리, 티베트의 경우 약 5자리(괄호 안에 지역번호가 있는 경우 지역번호 사이에 0~1의 공백이 있을 수 있음) 지역번호를 괄호 안에 넣지 않은 경우 지역번호와 전화번호 사이에 2자리 길이가 있을 수 있습니다. -
번호: 7~8자리, 예: (010) 12345678 또는 (010) )12345678 또는 010 12345678 또는 010-- 12345678

/** 
 * @param $telephone string 固话号码 
 * @return string 
 */  
function pregTelephone($telephone)  
{  
    $rule = '/^(\(((010)|(021)|(0\d{3,4}))\)( ?)([0-9]{7,8}))|((010|021|0\d{3,4}))([- ]{1,2})([0-9]{7,8})$/A';  
    if (preg_match($rule, $telephone, $result)) {  
        return $result;  
    } else {  
        return "不匹配!";  
    }  
}

4. 정규식 일치 URL

일치 URL 규칙:
프로토콜://도메인 이름(www /m/wap... ).Name.Suffix/파일 경로/파일 이름

..../2017030629/165.html

프로토콜://도메인 이름(www/m/wap...).Name.Suffix/파일 경로/파일 이름?매개변수

.../view.php?aid=165

프로토콜://도메인 이름(www/m/wap...).Name.Suffix/파일 경로/파일 이름/매개변수

.../tags.php?/正则表达式/1/

프로토콜: 예 예 없음, 대문자와 소문자로 구성, 프로토콜이 작성되지 않은 경우 ://가 없어야 하며, 그렇지 않은 경우에는 있어야 합니다.://
도메인 이름: 반드시 있어야 하며 대문자와 소문자로 구성됩니다. 소문자
이름: 반드시 있어야 함, 한자 영숫자
접미사: 반드시 있어야 함, 대문자와 소문자 및 .
파일 경로: 선택, 대문자, 소문자 및 숫자로 구성
파일 이름 : 선택사항, 대문자, 소문자, 숫자로 구성
매개변수: 선택사항, 존재할 경우 ?로 시작해야 함, 즉 존재할 경우 해당 매개변수 정보가 ?

로 시작해야 함
/** 
 * @param $url string url地址 
 * @return string 结果 
 */  
function pregURL($url)  
{  
    $rule = '/^(([a-zA-Z]+)(:\/\/))?([a-zA-Z]+)\.(\w+)\.([\w.]+)(\/([\w]+)\/?)*(\/[a-zA-Z0-9]+\.(\w+))*(\/([\w]+)\/?)*(\?(\w+=?[\w]*))*((&?\w+=?[\w]*))*$/';  
    if (preg_match($rule, $url, $result)) {  
        return $result;  
    } else {  
        return "不匹配!";  
    }  
}

5. ID 번호 일치

ID 번호 일치 규칙:
순수 15자리 또는 순수 18자리 또는 17자리 + 1x

/** 
 * @param $idcard string 身份证号码 
 * @return string 结果 
 */  
function pregIdcard($idcard)  
{  
    $rule = '/^(([0-9]{15})|([0-9]{18})|([0-9]{17}x))$/';  
    if (preg_match($rule, $idcard, $result)) {  
        return $result;  
    } else {  
        return "不匹配!";  
    }  
}

6. 지역 우편번호 일치 정규 표현식

우편번호 일치 규칙:
6자리, 첫 번째 숫자는 0이 될 수 없습니다

/** 
 * @param $pos string 邮编号码 
 * @return string 结果 
 */  
function pregPOS($pos)  
{  
    $rule = '/^[1-9]\d{5}$/';  
    if (preg_match($rule, $pos, $result)) {  
        return $result;  
    } else {  
        return "不匹配!";  
    }  
}

7. 정규식 일치 IP 주소

일치 IP 규칙:
**1.**2.**3.**4**1은 한 자리 1-9, 두 자리 01일 수 있습니다. -99, 세 자리 숫자 001~255**2 및 **3은 한 자리에 대해 0~9, 두 자리에 대해 00~99, 세 자리에 대해 000~255**4는 한 자리에 대해 1~9가 될 수 있습니다. -99이면 001~255의 3자리 매개변수가 4개 존재해야 합니다.

/** 
 * @param $ip string ip地址 
 * @return string 结果 
 */  
function pregIP($ip)  
{  
    $rule = '/^((([1-9])|((0[1-9])|([1-9][0-9]))|((00[1-9])|(0[1-9][0-9])|((1[0-9]{2})|(2[0-4][0-9])|(25[0-5]))))\.)
    ((([0-9]{1,2})|(([0-1][0-9]{2})|(2[0-4][0-9])|(25[0-5])))\.){2}(([1-9])|((0[1-9])|([1-9][0-9]))|(00[1-9])|
    (0[1-9][0-9])|((1[0-9]{2})|(2[0-4][0-9])|(25[0-5])))$/';  
    if (preg_match($rule, $ip, $result)) {  
        return $result;  
    } else {  
        return "不匹配!";  
    }  
}

8. 시간 형식 일치를 위한 정규식

시간 일치 규칙:
형식은 다음과 같습니다: 연-월-일 시:분:초, 연-월-일 시: 분, 연-월-일: 연: 1 또는 2로 시작하는 4자리, 월: 1~9로 시작하는 1자리, 0 또는 1로 시작하는 2자리, 0으로 시작하는 시간; 은 1부터 9까지의 숫자입니다. 1로 시작하는 경우 한 자리는 1부터 2까지의 숫자입니다. 일: 1자리는 1부터 9까지의 숫자이고, 두 자리는 0, 1, 2 또는 3으로 시작합니다. 숫자가 0으로 시작하는 경우 숫자는 1부터 9까지의 숫자입니다. 1 또는 2로 시작하는 경우 단위의 숫자는 0부터 9까지의 숫자입니다. 3으로 시작하는 경우 단위의 숫자는 0 또는 1입니다. 시: 0부터 9까지의 한 자리; 0 또는 1로 시작 2로 시작하는 두 자리 숫자, 0부터 9까지의 두 자리 숫자, 2로 시작하는 두 자리 숫자, 분: 한 자리 숫자 0~9, 0~5로 시작하는 두 자리 숫자, 1의 자리는 0~9 ; 분: 0~9의 한 자리, 0~5까지의 두 자리, 각 자리는 0~9입니다.

/** 
 * @param $time string 时间 
 * @return string 结果 
 */  
function pregTime($time)  
{  
    $rule = '/^(([1-2][0-9]{3}-)((([1-9])|(0[1-9])|(1[0-2]))-)((([1-9])|(0[1-9])|([1-2][0-9])|(3[0-1]))))( ((([0-9])|
    (([0-1][0-9])|(2[0-3]))):(([0-9])|([0-5][0-9]))(:(([0-9])|([0-5][0-9])))?))?$/';  
    if (preg_match($rule, $time, $result)) {  
        return $result;  
    } else {  
        return "不匹配!";  
    }  
}

9. utf8에서 중국어와 일치하는 정규식

/** 
 * @param $chinese string utf8格式中文字 
 * @return string 结果 
 */  
function pregChinese($chinese)  
{  
    $rule = '/([\x{4e00}-\x{9fa5}]){1}/u';  
    if (preg_match($rule, $chinese, $result)) {  
        return $result;  
    } else {  
        return "不匹配!";  
    }  
}

관련 기사:

PHP에서 가장 일반적으로 사용되는 정규식 자세한 설명

html 태그, 공백 및 줄 바꿈을 필터링하기 위한 PHP 일반 코드

php 일반 교체 변수 문자 지정 방법

PHP 정규식 일치, 대체 및 분할 기능 예제에 대한 간략한 분석

위 내용은 PHP 개발 기술(12) - 일반적으로 사용되는 PHP 정규 표현식의 예제 코드에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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