正則表達(dá)式是對(duì)字符串操作的一種邏輯公式,就是用事先定義好的一些特定字符、及這些特定字符的組合,組成一個(gè)“規(guī)則字符串”,這個(gè)“規(guī)則字符串”用來(lái)表達(dá)對(duì)字符串的一種過(guò)濾邏輯,方便以后我們?cè)陂_(kāi)發(fā)中進(jìn)行表單驗(yàn)證、字符串查找什么的。
6、匹配地區(qū)郵編的正則表達(dá)式
匹配郵編規(guī)則:
六位數(shù)字,第一位不能為0
/**
* @param $pos string 郵編號(hào)碼
* @return string 結(jié)果
*/
function pregPOS($pos)
{
$rule = '/^[1-9]\d{5}$/';
if (preg_match($rule, $pos, $result)) {
return $result;
} else {
return "不匹配!";
}
}
7、匹配IP地址的正則表達(dá)式
匹配ip規(guī)則:
**1.**2.**3.**4**1可以是一位的 1-9,兩位的01-99,三位的001-255**2和**3可以是一位的0-9,兩位的00-99,三位的000-255**4可以是一位的 1-9,兩位的01-99,三位的001-255四個(gè)參數(shù)必須存在。
/**
* @param $ip string ip地址
* @return string 結(jié)果
*/
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、匹配時(shí)間格式的正則表達(dá)式
匹配時(shí)間規(guī)則:
形式可以為:年-月-日 小時(shí):分鐘:秒,年-月-日 小時(shí):分鐘,年-月-日:年:1或2開(kāi)頭的四位數(shù),月:1位1到9的數(shù);0或1開(kāi)頭的兩位數(shù),0開(kāi)頭的時(shí)候個(gè)位數(shù)是1到9的數(shù),1開(kāi)頭的時(shí)候個(gè)位數(shù)是1到2的數(shù)日:1位1到9的數(shù);0或1或2或3開(kāi)頭的兩位數(shù),0開(kāi)頭的時(shí)候個(gè)位數(shù)是1到9的數(shù),1或2開(kāi)頭的時(shí)候個(gè)位數(shù)是0到9的數(shù),3開(kāi)頭的時(shí)候個(gè)位數(shù)是0或1小時(shí):0到9的一位數(shù);0或1開(kāi)頭的兩位數(shù),個(gè)位是0到9;2開(kāi)頭的兩位數(shù),個(gè)位是0-3分鐘:0到9的一位數(shù);0到5開(kāi)頭的兩位數(shù),個(gè)位是0到9;分鐘:0到9的一位數(shù);0到5開(kāi)頭的兩位數(shù),各位是0到9。
/**
* @param $time string 時(shí)間
* @return string 結(jié)果
*/
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下匹配中文的正則表達(dá)式
/**
* @param $chinese string utf8格式中文字
* @return string 結(jié)果
*/
function pregChinese($chinese)
{
$rule = '/([\x{4e00}-\x{9fa5}]){1}/u';
if (preg_match($rule, $chinese, $result)) {
return $result;
} else {
return "不匹配!";
}
}