平常做網站常要用正規表示式,以下是一些講解和例子,僅供大家參考和修改使用:
匹配數字
"^\d $" //非負整數(正整數0)
"^[0-9]*[1-9][0-9] *$" //正整數
"^((-\d )|(0 ))$" //非正整數(負整數0)
"^-[0- 9]*[1-9][0-9]*$" //負整數
"^-?\d $" //整數
"^\d (\. \d )?$" //非負浮點數(正浮點數0)
"^(([0-9] \.[0-9]*[1-9][0-9 ]*)|([0-9]*[1-9][0-9]*\.[0-9] )|([0-9]*[1-9][0-9]*) )$" //正浮點數
"^((-\d (\.\d )?)|(0 (\.0 )?))$" //非正浮點數(負浮點數0)
"^(-(([0-9] \.[0-9]*[1-9][0-9]*)|([0-9]*[ 1-9][0-9]*\.[0-9] )|([0-9]*[1-9][0-9]*)))$" //負浮點數
"^(-?\d )(\.\d )?$" //浮點數
符合字母
"^[A-Za-z] $" / /由26個英文字母組成的字串
"^[A-Z] $" //由26個英文字母的大寫組成的字串
"^[a-z] $" / /由26個英文字母的小寫組成的字串
"^[A-Za-z0-9] $" //由數字和26個英文字母組成的字串
# "^\w $" //由數字、26個英文字母或下劃線組成的字串
#匹配實例
"^[\w-] (\.[\w-] )*@[\w-] (\.[\w-] ) $" //email位址
"^[a-zA-z] ://(\w (-\w )* )(\.(\w (-\w )*))*(\?\S*)?$" //url
/^(d{2}|d{4} )-((0([1-9]{1}))|(1[1|2]))-(([0-2]([1-9]{1}))|(3[0 |1]))$/ // 年-月-日
/^((0([1-9]{1}))|(1[1 |2]))/(([0-2]([1-9]{1}))|(3[0|1]))/(d{2}|d{4})$/ //月/日/年
"^([w-.] )@(([[0-9]{1,3}.[0-9]{ 1,3}.[0-9]{1,3}.)|(([w-] .) ))([a-zA-Z]{2,4}|[0-9]{1, 3})(]?)$" //Emil
/^((\ ?[0-9]{2,4}\-[0-9] {3,4}\-)|([0-9]{3,4}\-))?([0-9]{7,8})(\-[0-9] )?$/ / /電話號碼
"^(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1 ,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d {1,2}|1dd|2[0-4]d|25[0-5])$" //IP位址
其他符合
符合中文字元的正規表示式:[\u4e00-\u9fa5]
符合雙位元組字元(包括漢字在內):[^\x00-\xff]
符合空白行的正規表示式:\n[\s| ]*\r
符合HTML標記的正規表示式:/.*|/
符合首尾空格的正規表示式:(^\s*)|(\s*$)
符合Email位址的正規表示式:\w ([- .]\w )*@\w ([-.]\w )*\.\w ([-.]\w )*
符合網址URL的正規表示式:^[a-zA-z] ://(\\w (-\\w )*)(\\.(\\w (-\\ w )*))*(\\?\\S*)?$
#符合帳號是否合法(字母開頭,允許5-16位元組,允許字母數字底線):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
符合國內電話號碼:(\d{3}- |\d{4}-)?(\d{8}|\d{7})?
配對騰訊QQ號:^[1-9]*[1-9][0-9 ]*$
元字元及其在正規表示式上下文中的行為:
\將下一個字元標記為一個特殊字元、或一個原義字元、或一個後向引用、或一個八進制轉義符。
^ 符合輸入字串的開始位置。如果設定了 RegExp 物件的Multiline 屬性,^ 也符合 ’\n’ 或 ’\r’ 之後的位置。
$ 符合輸入字串的結束位置。如果設定了 RegExp 物件的Multiline 屬性,$ 也符合 ’\n’ 或 ’\r’ 之前的位置。
* 符合前面的子表達式零次或多次
符合前面的子表達式一次或多次。等價於 {1,}。
? 符合前面的子表達式零次或一次。 ? 等價於 {0,1}。
{n} n 是一個非負整數,匹配確定的n 次。
{n,} n 為非負整數,至少符合n 次。
{n,m} m 和 n 都是非負整數,其中n
? 當字元緊接在任何其他限制符 (*, , ?, {n}, {n,}, {n,m}) 後面時,匹配模式是非貪婪的。非貪婪模式盡可能少的匹配所搜尋的字串,而預設的貪婪模式則盡可能多的匹配所搜尋的字串。
. 符合 "\n" 以外的任何單一字元。若要符合包括 ’\n’ 在內的任何字符,請使用象 ’[.\n]’ 的模式。
(pattern) 符合pattern 並取得此符合。
(?:pattern) 匹配pattern 但不取得匹配結果,也就是說這是一個非獲取匹配,不進行儲存以供以後使用。
(?=pattern) 正向預查,在任何符合 pattern 的字串開始處符合尋找字串。這是一個非獲取匹配,也就是說,該匹配不需要獲取供以後使用。
(?!pattern) 負向預查,與(?=pattern)作用相反
x|y 符合 x 或 y。
[xyz] 字元集合。
[^xyz] 負值字元集合。
[a-z] 字元範圍,符合指定範圍內的任意字元。
[^a-z] 負值字元範圍,符合任何不在指定範圍內的任意字元。
\b 符合一個單字邊界,也就是指單字和空格間的位置。
\B 符合非單字邊界。
\cx 符合x指明的控製字元。
\d 符合一個數字字元。等價於 [0-9]。
\D 符合一個非數字字元。等價於 [^0-9]。
\f 符合一個換頁符號。等價於 \x0c 和 \cL。
\n 符合一個換行符號。等價於 \x0a 和 \cJ。
\r 符合一個回車符。等價於 \x0d 和 \cM。
\s 會匹配任何空白字符,包括空格、製表符、換頁符等等。等價於[ \f\n\r\t\v]。
\S 符合任何非空白字元。等價於 [^ \f\n\r\t\v]。
\t 符合一個製表符。等價於 \x09 和 \cI。
\v 符合一個垂直製表符。等價於 \x0b 和 \cK。
\w 符合包括下劃線的任何單字字元。等價於’[A-Za-z0-9_]’。
\W 符合任何非單字字元。等價於 ’[^A-Za-z0-9_]’。
\xn 符合 n,其中 n 為十六進位轉義值。十六進制轉義值必須為確定的兩個數字長。
\num 符合 num,其中num是一個正整數。對所獲取的匹配的引用。
\n 標識一個八進位轉義值或一個後向引用。如果 \n 之前至少 n 個取得的子表達式,則 n 為後向引用。否則,如果 n 為八進制數字 (0-7),則 n 為一個八進制轉義值。
\nm 標識一個八進位轉義值或一個後向引用。如果 \nm 之前至少有is preceded by at least nm 個取得得子表達式,則 nm 為後向引用。如果 \nm 之前至少有 n 個獲取,則 n 為一個後接文字 m 的後向引用。如果前面的條件都不滿足,若 n 和 m 均為八進位數字 (0-7),則 \nm 將符合八進位轉義值 nm。
\nml 如果 n 為八進位數字 (0-3),且 m 和 l 均為八進位數字 (0-7),則符合八進位轉義值 nml。
\un 符合 n,其中 n 是一個用四個十六進位數字表示的Unicode字元。
符合中文字元的正規表示式: [u4e00-u9fa5]
#符合雙位元組字元(包括漢字在內):[^x00-xff]
#符合空白行的正規表示式:n[s| ]*r
#符合HTML標記的正規表示式:/. *|/
符合首尾空格的正規表示式:(^s*)|(s*$)
符合Email位址的正規表示式:w ([- .]w )*@w ([-.]w )*.w ([-.]w )*
符合網址URL的正規表示式:http://([w-] .) [w-] (/[w- ./?%&=]*)?
利用正規表示式限制網頁表單裡的文字方塊輸入內容:
用正規表示式限制只能輸入中文:onkeyup="value=value.replace(/[^u4E00-u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/ [^u4E00-u9FA5]/g,''))"
用正規表示式限制只能輸入全角字元: onkeyup="value=value.replace(/ [^uFF00-uFFFF]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^uFF00-uFFFF]/g,''))"
用正規表示式限制只能輸入數字:onkeyup="value=value.replace(/[^d]/g,'') "onbeforepaste="clipboardData .setData('text',clipboardData.getData('text').replace(/[^d]/g,''))"
用正規表示式限制只能輸入數字和英文:onkeyup="value=value.replace(/[W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace( /[^d]/g,''))"
一些常用的正規實例
1、非負整數:^\d $
2、正整數:^[0-9]*[1-9][0-9]*$
3、非正整數:^((-\d )|(0 ))$
#4、負整數:^-[0-9]*[1-9][0- 9]*$
5、整數:^-?\d $
6、非負浮點數:^\d (\.\d )?$
7、正浮點數:^((0-9) \.[0-9]*[1 -9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9] )|([0-9]*[1-9] [0-9]*))$
8、非正浮點數:^((-\d \.\d )?)|(0 (\. 0 )?))$
9、負浮點數:^(-((正浮點數正規)))$
10、英文字串:^[A-Za-z] $
#11、英文大寫字串:^[A-Z] $
12、英文小寫字串:^[a-z] $
#13、英文字元數字串:^[A-Za -z0-9] $
14、英數字加底線字串:^\w $
15、 E-mail位址:^[\w-] (\.[\w-] )*@[\w-] (\.[\w-] ) $
16、URL:^[a-zA-Z] ://(\w (-\w )*)(\.(\w (-\w )*))*(\?\s*)? $
或:^http:\/\/[A-Za-z0-9] \.[A-Za-z0-9] [\/=\ ?%\-&_~`@[\]\': !]*([^\"\"])*$
17、郵政編碼:^[1-9]\d{5}$
18、中文:^[\u0391-\uFFE5] $
#19、電話號碼:^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3} \)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$
20、手機號碼:^((\(\d{2,3}\))|(\d{3}\-))?13\d{9}$
21、雙位元組字元(包括漢字在內):^\x00-\xff
22、符合首尾空格:(^ \s*)|(\s*$)(像vbscript那樣的trim函數)
#23、符合HTML標記:.* |
#24、符合空白行:\n[\s| ]*\r
25、擷取資訊中的網路連結:(h|H)(r|R)(e|E)(f|F) *= *('|" )?(\w|\\|\/|\.) ('|"| *|>)?
#26、提取資訊中的郵件地址: \w ([- .]\w )*@\w ([-.]\w )*\.\w ([-.]\w )*
27、擷取資訊中的圖片連結:(s|S)(r|R)(c|C) *= *('|")?(\w|\\|\/|\.) ('| "| *|>)?
28、提取資訊中的IP位址:(\d )\.(\d )\.(\d )\. (\d )
29、擷取資訊中的中國手機號碼:(86)*0*13\d{9}
30、提取資訊中的中國固定電話號碼:(\(\d{3,4}\)|\d{3,4}-|\s)?\d{8}
31、擷取資訊中的中國電話號碼(包括行動與固定電話):(\(\d{3,4}\)|\d{3,4} -|\s)?\d{7,14}
32、提取資訊中的中國郵遞區號:[1-9]{1}(\d ) {5}
33、擷取資訊中的浮點數(即小數):(-?\d*)\.?\d
34、提取資訊中的任何數字:(-?\d*)(\.\d )?
35、IP: (\d )\.(\d )\.(\d )\.(\d )
#36、電話區號:/^0\d{2, 3}$/
37、騰訊QQ號:^[1-9]*[1-9][0-9]*$
38、帳號(字母開頭,允許5-16字節,允許字母數字下劃線):^[a-zA-Z][a-zA-Z0-9_]{4,15 }$
39、中文、英文、數位及底線:^[\u4e00-\u9fa5_a-zA-Z0-9] $
#附加
符合中文字元的正規表示式:[\u4e00-\u9fa5]
符合首尾空格的正規表示式:(^\s*)|(\s*$)
符合IP位址的正規表示式:/(\ d )\.(\d )\.(\d )\.(\d )/g //
#符合Email位址的正規表示式:\w ( [- .]\w )*@\w ([-.]\w )*\.\w ([-.]\w )*
符合網址URL的正規表示式:http://(/[\w-] \.) [\w-] (/[\w- ./?%&=]*)?
sql語句:^(select|drop|delete|create|update|insert).*$
以上是php中常用的正規表示式使用方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

依賴性(di)inphpenhancesCodeFlexibility andTestability by decouplingClassesscyclasses fromtheippentencies.1)UseConstructorientoctionTopAssDopassDectiesViactructors Viactructors

推薦Pimple用於簡單項目,Symfony的DependencyInjection用於復雜項目。 1)Pimple適合小型項目,因其簡單和靈活。 2)Symfony的DependencyInjection適合大型項目,因其功能強大。選擇時需考慮項目規模、性能需求和學習曲線。

依賴性注射(DI)InphpisadesignpatternwhereClassDepentenciesArepassedtotosedTosedTosedTotratherThancReateDinterally,增強codemodemodularityAndTestabily.itimprovessoftwarequalitybyby By:1)增強tosestabilityTestabilityTestabilityThroughityThroughEasyDepentyDepententymydependentymocking,2)增強Flexibilybya

依賴性(di)InphpenhancesCodemodularity,可檢驗性和確定性。 1)itallowSeasysWappingOfComponents,AsseeninaPaymentGateWayswitch.2)dicanbeimimplementlededMermplemplemplemplemplemplemplemplemplempletallyororororerorviacontainers,withcontanersAddingComplexiteDcomplexiteDcomplexiteDcomplexitingCompleaDdingCompleAddingButaidLararArargerProprproproprys.3)

TooptimizePHPcodeforreducedmemoryusageandexecutiontime,followthesesteps:1)Usereferencesinsteadofcopyinglargedatastructurestoreducememoryconsumption.2)LeveragePHP'sbuilt-infunctionslikearray_mapforfasterexecution.3)Implementcachingmechanisms,suchasAPC

phpisusedforsendendemailsduetoitsignegrationwithservermailservicesand andexternalsmtpproviders,自動化intifications andMarketingCampaigns.1)設置設置yourphpenvenvironnvironnvironmentwithaweberswithawebserverserververandphp,確保themailfunctionisenabled.2)useabasicscruct

發送電子郵件的最佳方法是使用PHPMailer庫。 1)使用mail()函數簡單但不可靠,可能導致郵件進入垃圾郵件或無法送達。 2)PHPMailer提供更好的控制和可靠性,支持HTML郵件、附件和SMTP認證。 3)確保正確配置SMTP設置並使用加密(如STARTTLS或SSL/TLS)以增強安全性。 4)對於大量郵件,考慮使用郵件隊列系統來優化性能。

CustomHeadersheadersandAdvancedFeaturesInphpeMailenHanceFunctionalityAndreliability.1)CustomHeadersheadersheadersaddmetadatatatatataatafortrackingandCategorization.2)htmlemailsallowformattingandttinganditive.3)attachmentscanmentscanmentscanbesmentscanbestmentscanbesentscanbesentingslibrarieslibrarieslibrariesliblarikelikephpmailer.4)smtppapapairatienticationaltication enterticationallimpr


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

記事本++7.3.1
好用且免費的程式碼編輯器

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境