Home >Backend Development >PHP Tutorial >Commonly used regular matches in php_PHP tutorial
[php]
function pregPN($test){
/**
Matching mobile phone numbers
Rules:
Basic format of mobile phone number:
The first three digits are:
Mobile: 134-139 147 150-152 157-159 182 187 188
China Unicom: 130-132 155-156 185 186
Telecommunications: 133 153 180 189
The last eight digits are:
0-9-bit numbers
*/
$rule = "/^((13[0-9])|147|(15[0-35-9])|180|182|(18[5-9]))[0-9]{8}$/A";
preg_match($rule,$test,$result);
return $result;
}
/**
Matching mobile phone numbers
Rules:
Basic format of mobile phone number:
The first three digits are:
Mobile: 134-139 147 150-152 157-159 182 187 188
China Unicom: 130-132 155-156 185 186
Telecommunications: 133 153 180 189
The last eight digits are:
0-9 digit number
*/
$rule = "/^((13[0-9])|147|(15[0-35-9])|180|182|(18[5-9]))[0-9]{8}$/A";
preg_match($rule,$test,$result);
return $result;
}
[php]
function pregE($test){
/**
Matching email address
Rules:
The basic email format is *****@**.**
@Or numbers at the beginning, follow 0 to multiple cases or numbers or. _ -String
@. Before, there were 1 to multiple cases of lethal letters or numbers.
After that, there are 1 to multiple cases of lethal letters or numbers or.
*/
$zhengze = '/^[a-zA-Z0-9][a-zA-Z0-9._-]*@[a-zA-Z0-9]+.[a-zA-Z0-9.]+$/A';
preg_match($zhengze,$test,$result);
return $result;
}
function pregE($test){
/**
Rules:
The basic email format is *****@**.**
@ used to be a string starting with an uppercase or lowercase letter or number, followed by 0 to more uppercase or lowercase letters or numbers or . _ -
After @ comes. Before it is a string of 1 to more uppercase and lowercase letters or numbers
.Followed by 1 to more strings of uppercase and lowercase letters or numbers or .
*/
$zhengze = '/^[a-zA-Z0-9][a-zA-Z0-9._-]*@[a-zA-Z0-9]+.[a-zA-Z0-9.]+$/A';
preg_match($zhengze,$test,$result);
return $result;
}
[php]
function pregTP($test){
/**
Phone number matching
Phone number rules:
Area code: 3 to 5 digits, most are four digits, Beijing (010) and Shanghai (021) are three digits, Tibet has some five digits, it can be wrapped in brackets or not
If there is an area code wrapped in brackets, there can be 0 to 1 space between the area code and the number. If the area code is not wrapped in brackets, there can be two digits between the area code and the number or -
Number: 7 to 8 digits
For example: (010) 12345678 or (010)12345678 or 010 12345678 or 010--12345678
*/
$rule = '/^((((010)|(021)|(0d{3,4})))( ?)([0-9]{7,8}))|((010|021|0d{3,4}))([- ]{1,2})([0-9]{7,8})$/A';
preg_match($rule,$test,$result);
return $result;
}
function pregTP($test){
/**
Phone number matching
Phone number rules:
Area code: 3 to 5 digits, most are four digits, Beijing (010) and Shanghai (021) are three digits, Tibet has some five digits, it can be wrapped in brackets or not
If there is an area code wrapped in brackets, there can be 0 to 1 space between the area code and the number. If the area code is not wrapped in brackets, there can be two digits between the area code and the number or -
Number: 7 to 8 digits
For example: (010) 12345678 or (010)12345678 or 010 12345678 or 010--12345678
*/
$rule = '/^((((010)|(021)|(0d{3,4})))( ?)([0-9]{7,8}))|((010|021|0d{3,4}))([- ]{1,2})([0-9]{7,8})$/A';
preg_match($rule,$test,$result);
return $result;
}
[php]
function pregURL($test){
/**
Matching url
URL rules:
Example
Protocol://Domain name (www/tieba/baike...).Name.Suffix/File path/File name
http://zhidao.baidu.com/question/535596723.html
Protocol://Domain name (www/tieba/baike...).Name.Suffix/File path/File name?Parameters
Www.lhrb.com.cn/portal.php?mod=View&AID=7412
Protocol://Domain name (www/tieba/baike...).Name.Suffix/File path/File name/Parameters
http://www.xugou.com.cn/yiji/erji/index.php/canshu/11
Agreement: It may be composed of large and small office letters; it should not exist without writing a protocol: //, otherwise there must be: //
Domain name: must exist, consisting of uppercase and lowercase letters
Name: Must exist, alphanumeric Chinese characters
Suffix: must exist, composed of uppercase and lowercase letters and .
File path: optional, consisting of uppercase and lowercase letters and numbers
File name: optional, consisting of uppercase and lowercase letters and numbers
must start with? if it exists, must have corresponding parameter information
*/
$rule = '/^(([a-zA-Z]+)(://))?([a-zA-Z]+).(w+).([w.]+)(/([w]+)/?)*(/[a-zA-Z0-9]+.(w+))*(/([w]+)/?)*(?(w+=?[w]*))*((&?w+=?[w]*))*$/';
preg_match($rule,$test,$result);
return $result;
}
/**
Matching url
URL rules:
Example
Protocol://Domain name (www/tieba/baike...).Name.Suffix/File path/File name
http://zhidao.baidu.com/question/535596723.html
Protocol://Domain name (www/tieba/baike...).Name.Suffix/File path/File name?Parameters
www.lhrb.com.cn/portal.php?mod=view&aid=7412
Protocol://Domain name (www/tieba/baike...).Name.Suffix/File path/File name/Parameters
http://www.xugou.com.cn/yiji/erji/index.php/canshu/11
Protocol: optional, consisting of uppercase and lowercase letters; if protocol is not written, it should not exist://, otherwise it must exist://
Domain name: must exist, consisting of uppercase and lowercase letters
Name: must exist, alphanumeric Chinese characters
Suffix: must exist, composed of uppercase and lowercase letters and .
File path: optional, consisting of uppercase and lowercase letters and numbers
File name: optional, consisting of uppercase and lowercase letters and numbers
Parameters: optional, if they exist, they must start with ?, that is, if they exist, there must be corresponding parameter information starting with ?
*/
$rule = '/^(([a-zA-Z]+)(://))?([a-zA-Z]+).(w+).([w.]+)(/([w]+)/?)*(/[a-zA-Z0-9]+.(w+))*(/([w]+)/?)*(?(w+=?[w]*))*((&?w+=?[w]*))*$/';
preg_match($rule,$test,$result);
return $result;
}
[php]
function pregIC($test){
/**
Matching ID number
Rules:
15 pure digits or 18 pure digits or 17 digits plus one x
*/
$rule = '/^(([0-9]{15})|([0-9]{18})|([0-9]{17}x))$/';
preg_match($rule,$test,$result);
return $result;
}
function pregIC($test){
/**
Match ID number
Rules:
15 pure digits or 18 pure digits or 17 digits plus one x
*/
$rule = '/^(([0-9]{15})|([0-9]{18})|([0-9]{17}x))$/';
preg_match($rule,$test,$result);
return $result;
}
[php]
function pregPOS($test){
/**
Matching zip code
Rules: Six digits, the first digit cannot be 0
*/
$rule ='/^[1-9]d{5}$/';
preg_match($rule,$test,$result);
return $result;
}
function pregPOS($test){
/**
Matching zip code
Rules: Six digits, the first digit cannot be 0
*/
$rule ='/^[1-9]d{5}$/';
preg_match($rule,$test,$result);
return $result;
}
[php]
function pregIP($test){
/**
Matching ip
Rules:
**1.**2.**3.**4
**1 can be 1-9 for one digit, 01-99 for two digits, 001-255 for three digits
**2 and **3 can be 0-9 for one digit, 00-99 for two digits, 000-255 for three digits
**4 can be 1-9 for one digit, 01-99 for two digits, 001-255 for three digits
Four parameters must exist
*/
$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])))$/';
preg_match($rule,$test,$result);
return $result;
}
function pregIP($test){
/**
Matching ip
Rules:
**1.**2.**3.**4
**1 can be 1-9 for one digit, 01-99 for two digits, 001-255 for three digits
**2 and **3 can be 0-9 for one digit, 00-99 for two digits, 000-255 for three digits
**4 can be 1-9 for one digit, 01-99 for two digits, 001-255 for three digits
Four parameters must exist
*/
$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])))$/';
preg_match($rule,$test,$result);
return $result;
}
[php]
function pregTI($test){
/**
Matching time
Rules:
The form can be:
Year-Month-Day Hour:Minute:Second
Year-Month-Day Hour:Minute
Year-month-day
Year: four digits starting with 1 or 2
Month: 1 digit from 1 to 9; two digits starting with 0 or 1, when the unit digit starts with 0, it is a number from 1 to 9, when it starts with 1, the units digit is a number from 1 to 2
Day: 1 digit number from 1 to 9; two digits starting with 0 or 1 or 2 or 3. When the unit digit starts with 0, it is a number from 1 to 9. When it starts with 1 or 2, the units digit is 0 to 9. When the number starts with 3, the single digit is 0 or 1
Hours: one digit from 0 to 9; two digits starting with 0 or 1, the ones digit is 0 to 9; two digits starting with 2, the ones digit is 0-3
Minutes: one digit from 0 to 9; two digits starting from 0 to 5, the units digit is 0 to 9;
Minutes: one digit from 0 to 9; two digits starting from 0 to 5, each digit is 0 to 9
*/
$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])))?))?$/';
preg_match($rule,$test,$result);
return $result;
}
function pregTI($test){
/**
Matching time
Rules:
The form can be:
Year-Month-Day Hour:Minute:Second
Year-Month-Day Hour:Minute
Year-month-day
Year: four digits starting with 1 or 2
Month: 1 digit number from 1 to 9; two digits starting with 0 or 1, when the single digit starts with 0, it is a number from 1 to 9, when it starts with 1, the single digit is a number from 1 to 2
Day: 1 digit number from 1 to 9; two digits starting with 0 or 1 or 2 or 3. When the unit digit starts with 0, it is a number from 1 to 9. When it starts with 1 or 2, the units digit is 0 to 9. When the number starts with 3, the single digit is 0 or 1
Hours: one digit from 0 to 9; two digits starting with 0 or 1, the ones digit is 0 to 9; two digits starting with 2, the ones digit is 0-3
Minutes: one digit from 0 to 9; two digits starting from 0 to 5, the units digit is 0 to 9;
Minutes: one digit from 0 to 9; two digits starting from 0 to 5, everyone is 0 to 9
*/
$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])))?))?$/';
preg_match($rule,$test,$result);
return $result;
}
[php]
function pregCh($test){
//utf8下匹配中文
$rule ='/([x{4e00}-x{9fa5}]){1}/u';
preg_match_all($rule,$test,$result);
return $result;
}