정규 표현식 은 사전 정의된 특정 문자와 이러한 특정 문자의 조합을 사용하여 "일반 문자열"을 형성하는 데 사용됩니다. 문자열에 대한 필터링 논리를 표현합니다. 오늘의 블로그 포스팅은 앞으로 개발 시 폼 검증, 문자열 검색 등을 수행할 수 있도록 일반적으로 사용되는 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 개발 기술(12) - 일반적으로 사용되는 PHP 정규 표현식의 예제 코드에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!