導航:首頁 > 編程語言 > phpvalidator

phpvalidator

發布時間:2023-06-12 08:26:02

1. thinkphp驗證器正則常用規則

ThinkPHP的自動驗證常用的正則

一般我們見的比較多的是設置規則為require、email之類的,其實這些本身也是屬於正則表達式驗證方式,只是系統內置定義了一些常用的正則表達式而已。這些內置的正則表達式的定義可以參考model類的regex方法,內置支持的正則定義包括:
require 欄位必須、email 郵箱、url URL地址、currency 貨幣、number 數字、zip 郵編、integer 整數、double 浮點數、english 英文字母,但是並不局限於這些正則規則的,我們完全可以直接在驗證規則裡面使用正則表達式進行定義,這樣我們可以憑借強大的正則表達式來進行表單欄位驗 證,例如:

附上一些表單驗證中比較常用的正則表達式寫法:

匹配特定字元串:

限定符
限定符用來指定正則表達式的一個給定組件必須要出現多少次才能滿足匹配。有 * 或 + 或 ? 或 {n} 或 {n,} 或 {n,m} 共6種。

正則表達式的限定符有:

ThinkPHP的自動驗證機制是為了進行表單數據驗證,驗證可以支持function、 callback、confirm、equal、unique和regex,這里要講的是使用正則表達式進行驗證。

特殊字元

許多元字元要求在試圖匹配它們時特別對待。若要匹配這些特殊字元,必須首先使字元"轉義",即,將反斜杠字元 放在它們前面。下表列出了正則表達式中的特殊字元:

正則表達式(regular expression)描述了一種字元串匹配的模式(pattern),可以用來檢查一個串是否含有某種子串、將匹配的子串替換或者從某個串中取出符合某個條件的子串等。

例如:

構造正則表達式的方法和創建數學表達式的方法一樣。也就是用多種元字元與運算符可以將小的表達式結合在一起來創建更大的表達式。正則表達式的組件可以是單個的字元、字元集合、字元范圍、字元間的選擇或者所有這些組件的任意組合。

正則表達式是由普通字元(例如字元 a 到 z)以及特殊字元(稱為"元字元")組成的文字模式。模式描述在搜索文本時要匹配的一個或多個字元串。正則表達式作為一個模板,將某個字元模式與所搜索的字元串進行匹配。

普通字元包括沒有顯式指定為元字元的所有可列印和不可列印字元。這包括所有大寫和小寫字母、所有數字、所有標點符號和一些其他符號。

非列印字元也可以是正則表達式的組成部分。下表列出了表示非列印字元的轉義序列:

所謂特殊字元,就是一些有特殊含義的字元,如上面說的 runoo*b 中的 ,簡單的說就是表示任何字元串的意思。如果要查找字元串中的 * 符號,則需要對 * 進行轉義,即在其前加一個 : runo*ob 匹配 runo ob。

許多元字元要求在試圖匹配它們時特別對待。若要匹配這些特殊字元,必須首先使字元"轉義",即,將反斜杠字元 放在它們前面。下表列出了正則表達式中的特殊字元:

限定符用來指定正則表達式的一個給定組件必須要出現多少次才能滿足匹配。有 * 或 + 或 ? 或 {n} 或 {n,} 或 {n,m} 共6種。

正則表達式的限定符有:

由於章節編號在大的輸入文檔中會很可能超過九,所以您需要一種方式來處理兩位或三位章節編號。限定符給您這種能力。下面的正則表達式匹配編號為任何位數的章節標題:

請注意,限定符出現在范圍表達式之後。因此,它應用於整個范圍表達式,在本例中,只指定從 0 到 9 的數字(包括 0 和 9)。

這里不使用 + 限定符,因為在第二個位置或後面的位置不一定需要有一個數字。也不使用 ? 字元,因為使用 ? 會將章節編號限制到只有兩位數。您需要至少匹配 Chapter 和空格字元後面的一個數字。

如果您知道章節編號被限制為只有 99 章,可以使用下面的表達式來至少指定一位但至多兩位數字。

上面的表達式的缺點是,大於 99 的章節編號仍只匹配開頭兩位數字。另一個缺點是 Chapter 0 也將匹配。只匹配兩位數字的更好的表達式如下:

* 、+限定符都是貪婪的,因為它們會盡可能多的匹配文字,只有在它們的後面加上一個?就可以實現非貪婪或最小匹配。

例如,您可能搜索 HTML 文檔,以查找括在 H1 標記內的章節標題。該文本在您的文檔中如下:

<H1>Chapter 1 - 介紹正則表達式</H1>

貪婪: 下面的表達式匹配從開始小於符號 (<) 到關閉 H1 標記的大於符號 (>) 之間的所有內容。

非貪婪: 如果您只需要匹配開始和結束 H1 標簽,下面的非貪婪表達式只匹配 <H1>。

如果只想匹配開始的 H1 標簽,表達式則是:

通過在 *、+ 或 ? 限定符之後放置 ?,該表達式從"貪心"表達式轉換為"非貪心"表達式或者最小匹配。

定位符使您能夠將正則表達式固定到行首或行尾。它們還使您能夠創建這樣的正則表達式,這些正則表達式出現在一個單詞內、在一個單詞的開頭或者一個單詞的結尾。

正則表達式的定位符有:

2. 如何寫PHP注冊頁面檢測密碼郵箱用戶的合法性

//驗證表單信息,是否合法
function Form_Validator(){global $u_name,$password,$confpwd,$centi_code,$sex,$birth_year,$birth_month,$birth_day,$pass_quest,$pass_answer,$email;
$u_name=$_POST[u_name];
$password=$_POST[password];
$confpwd=$_POST[confpwd];
$centi_code=$_POST[centi_code];
$sex=$_POST[sex];
$birth_year=$_POST[birth_year];
$birth_month=$_POST[birth_month];
$birth_day=$_POST[birth_day];
$pass_quest=$_POST[pass_quest];
$pass_answer=$_POST[pass_answer];
$email=$_POST[email];$sign=1;if($u_name=="")$sign=0;if(($password=="")||($confpwd=="")||($password!=$confpwd))$sign=0;if($centi_code=="")$sign=0;if($sex=="")$sign=0;if(($birth_year=="")||($birth_month=="")||($birth_day==""))$sign=0;if(($pass_quest=="")||($pass_answer==""))$sign=0;if($email=="")$sign=0;if($sign==0){$msg="輸入的信息不全,或者格式有誤,請仔細檢查穗攔桐並認真填寫";
$msg.="<a href = register1.php>返回</a>";echo $msg;exit;}return(1);}這是衡乎一個簡單的檢驗用戶合法的函數~
至於 郵箱的檢驗
////////////////////////電子郵件合法性檢查//////////////////////////////////猜坦////
$email="[email protected]";
if(eregi("^[_\.0-9a-z]+@([0-9a-z][0-9a-z]+\.)+[a-z]{2,3}$",$email)){echo "Congratulations,your e_mail address passed this check!<br>";}elseecho"Sorry,your e_mail address may be illegal!<br>";
你可以自己結合一下。。。完整的代碼就不寫拉。。留給你自己去思考!

3. 如何在php上安裝phalcon

下載phalcon 把phalcon.dll 放到相關目錄,一般是ext裡面 在php.ini中添加 extension=phalcon.dll 重啟環境

print_r(preg_grep('/^phalcon/i', get_declared_classes()));
Array
(
[145] => PhalconException
[146] => PhalconDbAdapter
[147] => PhalconDIInjectable
[148] => PhalconDI
[149] => PhalconFormsElement
[150] => PhalconMvcModelValidator
[151] => PhalconValidationValidator
[152] => PhalconCacheBackend
[153] => PhalconDbAdapterPdo
[154] => PhalconDbDialect
[155] => PhalconMvcModelMetaData
[156] => PhalconAnnotationsAdapter
[157] => PhalconLoggerFormatter
[158] => PhalconLoggerAdapter
[159] => PhalconFlash
[160] => PhalconMvcModelBehavior
[161] => PhalconDispatcher
[162] => PhalconMvcModelResultset
[163] => PhalconMvcViewEngine
[164] => PhalconMvcModelException
[165] => PhalconAssetsResource
[166] => PhalconConfig
[167] => PhalconSessionAdapter
[168] => PhalconAclAdapter
[169] => PhalconTranslateAdapter
[170] => PhalconDIFactoryDefault
[171] => PhalconMvcRouter
[172] => PhalconTag
[173] => PhalconAcl
[174] => PhalconDb
[175] => PhalconCacheException
[176] => PhalconCacheMultiple
[177] => PhalconCacheBackendApc
[178] => PhalconCacheBackendFile
[179] => PhalconCacheBackendMongo
[180] => PhalconCacheBackendMemory
[181] => PhalconCacheBackendMemcache
[182] => PhalconCacheFrontendOutput
[183] => PhalconCacheFrontendNone
[184] => PhalconCacheFrontendJson
[185] => PhalconCacheFrontendBase64
[186] => PhalconCacheFrontendData
[187] => PhalconTagSelect
[188] => PhalconTagException
[189] => PhalconPaginatorException
[190] => PhalconPaginatorAdapterModel
[191] =>
[192] =>
[193] => PhalconValidation
[194] => PhalconValidationMessage
[195] => PhalconValidationException
[196] => PhalconValidationMessageGroup
[197] =>
[198] =>
[199] =>
[200] =>
[201] =>
[202] =>
[203] =>
[204] =>
[205] =>
[206] => PhalconDbIndex
[207] => PhalconDbColumn
[208] => PhalconDbAdapterPdoSqlite
[209] => PhalconDbAdapterPdoMysql
[210] => PhalconDbAdapterPdoOracle
[211] => PhalconDbAdapterPdoPostgresql
[212] => PhalconDbDialectOracle
[213] => PhalconDbDialectMysql
[214] => PhalconDbDialectSqlite
[215] => PhalconDbDialectPostgresql
[216] => PhalconDbException
[217] => PhalconDbProfiler
[218] => PhalconDbProfilerItem
[219] => PhalconDbReference
[220] => PhalconDbRawValue
[221] => PhalconDbResultPdo
[222] => PhalconAclRole
[223] => PhalconAclResource
[224] => PhalconAclAdapterMemory
[225] => PhalconAclException
[226] => PhalconText
[227] => PhalconKernel
[228] => PhalconSecurity
[229] => PhalconSecurityException
[230] => PhalconVersion
[231] => PhalconSession
[232] => PhalconSessionBag
[233] => PhalconSessionException
[234] => PhalconSessionAdapterFiles
[235] => PhalconFilter
[236] => PhalconDIException
[237] => PhalconDIFactoryDefaultCLI
[238] => PhalconDIService
[239] => PhalconDIServiceBuilder
[240] => PhalconFilterException
[241] => PhalconFlashDirect
[242] => PhalconFlashSession
[243] => PhalconFlashException
[244] => PhalconCLITask
[245] => PhalconCLIRouter
[246] => PhalconCLIConsole
[247] => PhalconCLIConsoleException
[248] => PhalconCLIDispatcher
[249] => PhalconCLIDispatcherException
[250] => PhalconCLIRouterException
[251] => PhalconAnnotationsReader
[252] => PhalconAnnotationsException
[253] => PhalconAnnotationsReflection
[254] => PhalconAnnotationsAnnotation
[255] => PhalconAnnotationsCollection
[256] => PhalconAnnotationsAdapterApc
[257] =>
[258] =>
[259] => PhalconLoader
[260] => PhalconLogger
[261] => PhalconLoaderException
[262] => PhalconLoggerItem
[263] => PhalconLoggerMultiple
[264] => PhalconLoggerException
[265] => PhalconLoggerAdapterStream
[266] => PhalconLoggerAdapterFile
[267] => PhalconLoggerFormatterJson
[268] => PhalconLoggerAdapterSyslog
[269] => PhalconLoggerFormatterLine
[270] => PhalconLoggerFormatterSyslog
[271] => PhalconConfigException
[272] => PhalconConfigAdapterIni
[273] => PhalconFormsForm
[274] => PhalconFormsManager
[275] => PhalconFormsException
[276] => PhalconFormsElementFile
[277] => PhalconFormsElementText
[278] => PhalconFormsElementDate
[279] => PhalconFormsElementHidden
[280] => PhalconFormsElementNumeric
[281] => PhalconFormsElementSubmit
[282] => PhalconFormsElementCheck
[283] => PhalconFormsElementSelect
[284] => PhalconFormsElementPassword
[285] => PhalconFormsElementTextArea
[286] => PhalconCrypt
[287] => PhalconTranslate
[288] => PhalconTranslateException
[289] =>
[290] => PhalconCryptException
[291] => PhalconEscaper
[292] => PhalconEscaperException
[293] => PhalconAssetsManager
[294] => PhalconAssetsException
[295] => PhalconAssetsResourceJs [296] => PhalconAssetsCollection
[297] => PhalconAssetsResourceCss
[298] => PhalconHttpCookie
[299] => PhalconHttpRequest
[300] => PhalconHttpResponse
[301] => PhalconHttpCookieException
[302] => PhalconHttpRequestFile
[303] => PhalconHttpResponseCookies
[304] => PhalconHttpResponseHeaders
[305] => PhalconHttpRequestException
[306] => PhalconHttpResponseException
[307] => PhalconQueueBeanstalk
[308] => PhalconQueueBeanstalkJob
[309] => PhalconMvcUrl
[310] => PhalconMvcView
[311] => PhalconMvcMicro
[312] => PhalconMvcModel
[313] => PhalconMvcApplication
[314] =>
[315] => PhalconMvcCollection
[316] => PhalconMvcController
[317] => PhalconMvcCollectionManager
[318] => PhalconMvcCollectionException
[319] => PhalconMvcDispatcher
[320] => PhalconMvcDispatcherException
[321] => PhalconMvcModelQuery
[322] => PhalconMvcModelRow
[323] => PhalconMvcMicroLazyLoader
[324] => PhalconMvcMicroCollection
[325] => PhalconMvcMicroException
[326] => PhalconMvcModelMessage
[327] => PhalconMvcModelCriteria
[328] => PhalconMvcModelRelation
[329] => PhalconMvcModelManager
[330] => PhalconMvcModelTransaction
[331] => PhalconMvcModelQueryLang
[332] => PhalconMvcModelMetaDataFiles
[333] => PhalconMvcModelMetaDataApc
[334] => PhalconMvcModelQueryStatus
[335] => PhalconMvcModelQueryBuilder
[336] => PhalconMvcModelValidatorUrl
[337] => PhalconMvcModelMetaDataMemory
[338] =>
[339] =>
[340] =>
[341] => PhalconMvcModelValidatorEmail
[342] =>
[343] => PhalconMvcModelValidatorRegex
[344] =>
[345] =>
[346] =>
[347] =>
[348] =>
[349] =>
[350] =>
[351] =>
[352] =>
[353] =>
[354] =>
[355] =>
[356] =>
[357] => PhalconMvcRouterGroup
[358] => PhalconMvcRouterRoute
[359] => PhalconMvcRouterException
[360] => PhalconMvcRouterAnnotations
[361] => PhalconMvcUserPlugin
[362] => PhalconMvcUserMole
[363] => PhalconMvcUrlException
[364] => PhalconMvcUserComponent
[365] => PhalconMvcViewException
[366] => PhalconMvcViewEnginePhp
[367] => PhalconMvcViewEngineVolt
[368] =>
[369] => PhalconEventsEvent
[370] => PhalconEventsManager

[371] => PhalconEventsException)


備註:芝麻背調整理回答。芝麻背調,用技術推動行業進步。

閱讀全文

與phpvalidator相關的資料

熱點內容
pubg用什麼伺服器 瀏覽:526
田漢pdf 瀏覽:661
記錄儀如何安裝安卓系統 瀏覽:594
python求灰度均值 瀏覽:756
c編譯器是系統軟體嗎 瀏覽:694
獲取伺服器內網地址 瀏覽:536
新手媽媽如何帶新生兒APP 瀏覽:157
java日程管理 瀏覽:376
高清視頻鏈接加密 瀏覽:407
新買的阿里雲伺服器怎麼配置 瀏覽:612
在線編譯器為什麼刷新還在 瀏覽:212
雲伺服器系統盤可以裝資料庫 瀏覽:906
php繪制圖形 瀏覽:588
支付伺服器異常怎麼辦 瀏覽:76
java撥號 瀏覽:868
er5200如何設置虛擬伺服器 瀏覽:571
網路中心伺服器叫什麼 瀏覽:459
isplay單片機下載器 瀏覽:482
怎麼查看伺服器地址和埠 瀏覽:187
加密朋克ai 瀏覽:159