摘要:正則表達(dá)式是對(duì)字符串操作的一種邏輯公式,就是用事先定義好的一些特定字符及這些特定字符的組合,組成一個(gè)規(guī)則字符串,這個(gè)規(guī)則字符串用來(lái)表達(dá)對(duì)字符串的一種過(guò)濾邏輯。
正則表達(dá)式是對(duì)字符串操作的一種邏輯公式,就是用事先定義好的一些特定字符、及這些特定字符的組合,組成一個(gè)“規(guī)則字符串”,這個(gè)“規(guī)則字符串”用來(lái)表達(dá)對(duì)字符串的一種過(guò)濾邏輯。
1、匹配手機(jī)號(hào)碼的正則表達(dá)式
匹配手機(jī)號(hào)碼規(guī)則:
手機(jī)號(hào)碼基本格式:
前面三位為:
移動(dòng):134-139 147 150-152 157-159 182 187 188
聯(lián)通:130-132 155-156 185 186
電信:133 153 180 189
后面八位為:0-9位的數(shù)字
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、匹配郵箱的正則表達(dá)式
匹配郵箱規(guī)則:
郵箱基本格式是 *@.@以前是一個(gè) 大小寫(xiě)的字母或者數(shù)字開(kāi)頭,緊跟0到多個(gè)大小寫(xiě)字母或者數(shù)字或 . _ - 的字符串@之后到.之前是 1到多個(gè)大小寫(xiě)字母或者數(shù)字的字符串.之后是 1到多個(gè) 大小寫(xiě)字母或者數(shù)字或者.的字符串。
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、匹配電話號(hào)碼正則表達(dá)式
電話號(hào)碼匹配電話號(hào)碼規(guī)則:
區(qū)號(hào):3到5位,大部分都是四位,北京(010)和上海市(021)三位,西藏有部分五位,可以包裹在括號(hào)內(nèi)也可以沒(méi)有如果有區(qū)號(hào)由括號(hào)包裹,則在區(qū)號(hào)和號(hào)碼之間可以有0到1個(gè)空格,如果區(qū)號(hào)沒(méi)有由括號(hào)包裹,則區(qū)號(hào)和號(hào)碼之間可以有兩位長(zhǎng)度的 或者-
號(hào)碼:7到8位的數(shù)字例如:(010) 12345678 或者 (010)12345678 或者 010 12345678 或者 010--12345678
function pregTelephone($telephone)
{
$rule = "/^((((010)|(021)|(0d{3,4})))( ?)([0-9]{7,8}))|((010|021|0d{3,4}))([- ]{1,2})([0-9]{7,8})$/A"; if (preg_match($rule, $telephone, $result)) { return $result; } else { return "不匹配!"; }
}
4、匹配網(wǎng)址url的正則表達(dá)式
匹配url規(guī)則:
協(xié)議://域名(www/m/wap...).名稱(chēng).后綴/文件路徑/文件名
http://www.test.com/test/2017...
協(xié)議://域名(www/m/wap...).名稱(chēng).后綴/文件路徑/文件名?參數(shù)
http://www.test.com/plus/view...
協(xié)議://域名(www/m/wap...).名稱(chēng).后綴/文件路徑/文件名/參數(shù)
http://www.test.com/tags.php?/正則表達(dá)式/1/
協(xié)議:可有可無(wú),由大小寫(xiě)字母組成;不寫(xiě)協(xié)議則不應(yīng)存在://,否則必須存在://
域名:必須存在,由大小寫(xiě)字母組成
名稱(chēng):必須存在,字母數(shù)字漢字
后綴:必須存在,大小寫(xiě)字母和.組成
文件路徑:可有可無(wú),由大小寫(xiě)字母和數(shù)字組成
文件名:可有可無(wú),由大小寫(xiě)字母和數(shù)字組成
參數(shù):可有可無(wú),存在則必須由?開(kāi)頭,即存在?開(kāi)頭就必須有相應(yīng)的參數(shù)信息
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、匹配身份證號(hào)的正則表達(dá)式
匹配身份證號(hào)規(guī)則:
15位純數(shù)字或者18位純數(shù)字或者17位數(shù)字加一位x
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、匹配地區(qū)郵編的正則表達(dá)式
匹配郵編規(guī)則:
六位數(shù)字,第一位不能為0
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.41可以是一位的 1-9,兩位的01-99,三位的001-2552和3可以是一位的0-9,兩位的00-99,三位的000-2554可以是一位的 1-9,兩位的01-99,三位的001-255四個(gè)參數(shù)必須存在。
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。
function pregChinese($chinese)
{
$rule = "/([x{4e00}-x{9fa5}]){1}/u"; if (preg_match($rule, $chinese, $result)) { return $result; } else { return "不匹配!"; }
}
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/22467.html
摘要:正則表達(dá)式的都是匹配和替換搜索正則表達(dá)式要匹配的字符串匹配到的字符串匹配到的個(gè)數(shù),沒(méi)有匹配到返回下面是例子執(zhí)行一個(gè)正則表達(dá)式匹配,非貪婪執(zhí)行一個(gè)全局正則表達(dá)式匹配,貪婪執(zhí)行結(jié)果匹配所有僅由有一個(gè)單詞組成的科目名輸出結(jié)果替換正則表達(dá)式要匹 正則表達(dá)式的都是匹配和替換 PHP 搜索 preg_match* /** * int preg_match* ( string $pattern ,...
摘要:正則表達(dá)式的都是匹配和替換搜索正則表達(dá)式要匹配的字符串匹配到的字符串匹配到的個(gè)數(shù),沒(méi)有匹配到返回下面是例子執(zhí)行一個(gè)正則表達(dá)式匹配,非貪婪執(zhí)行一個(gè)全局正則表達(dá)式匹配,貪婪執(zhí)行結(jié)果匹配所有僅由有一個(gè)單詞組成的科目名輸出結(jié)果替換正則表達(dá)式要匹 正則表達(dá)式的都是匹配和替換 PHP 搜索 preg_match* /** * int preg_match* ( string $pattern ,...
摘要:和均為非負(fù)整數(shù),其中。如果之前至少個(gè)獲取的子表達(dá)式,則為后向引用。 注:本文轉(zhuǎn)自 摘取天上星的博客 PHP常用正則表達(dá)式 ^d+$ //非負(fù)整數(shù)(正整數(shù)+ 0) ^[0-9]*[1-9][0-9]*$ //正整數(shù) ^((-d+)|(0+))$ //非正整數(shù)(負(fù)整數(shù)+ 0) ^-[0-9]*[1-9][0-9]*$ //負(fù)整數(shù) ^-?d+$ //整數(shù) ^d+(.d+)?$ ...
摘要:是決定正則表達(dá)式匹配規(guī)則的主要部分。二分隔符分隔符的選擇當(dāng)使用函數(shù)的時(shí)候,正則表達(dá)式必須由分隔符閉合包裹。果分隔符經(jīng)常在正則表達(dá)式內(nèi)出現(xiàn),最好使用其他分隔符來(lái)提高可讀性。需要將一個(gè)字符串放入正則表達(dá)式中使用時(shí),可以用函數(shù)對(duì)其進(jìn)行轉(zhuǎn)義。 一、簡(jiǎn)介 1. 什么是正則表達(dá)式 正則表達(dá)式(Regular Expression)就是用某種模式去匹配一類(lèi)字符串的一種公式。正則表達(dá)式使用單個(gè)字符串來(lái)...
摘要:規(guī)范為的縮寫(xiě),中文即兼容正則表達(dá)式,由開(kāi)發(fā)的庫(kù),為很多現(xiàn)代工具所使用,大多數(shù)編程語(yǔ)言的正則表達(dá)式也都是集成該規(guī)范。接下來(lái)本文會(huì)對(duì)規(guī)范的正則表達(dá)式作出詳細(xì)介紹。正則語(yǔ)法分隔符當(dāng)使用函數(shù)的時(shí)候,模式需要由分隔符閉合包裹。 概述 正則表達(dá)式(Regular Expression)是一種字符匹配工具,通過(guò)構(gòu)建具有特定規(guī)則的模式,和輸入字符串?dāng)?shù)據(jù)進(jìn)行比較,然后進(jìn)行匹配、分割、替換等等的相關(guān)操作。...
閱讀 4373·2021-11-22 09:34
閱讀 2696·2021-11-12 10:36
閱讀 748·2021-08-18 10:23
閱讀 2645·2019-08-30 15:55
閱讀 3121·2019-08-30 15:53
閱讀 2087·2019-08-30 15:44
閱讀 1368·2019-08-29 15:37
閱讀 1412·2019-08-29 13:04