导航:首页 > 编程语言 > 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相关的资料

热点内容
python集成包 浏览:303
如何用电脑解压缩文件 浏览:446
pubg用什么服务器 浏览:526
田汉pdf 浏览:661
记录仪如何安装安卓系统 浏览:594
python求灰度均值 浏览:756
c编译器是系统软件吗 浏览:694
获取服务器内网地址 浏览:536
新手妈妈如何带新生儿APP 浏览:157
java日程管理 浏览:376
高清视频链接加密 浏览:407
新买的阿里云服务器怎么配置 浏览:612
在线编译器为什么刷新还在 浏览:213
云服务器系统盘可以装数据库 浏览:908
php绘制图形 浏览:589
支付服务器异常怎么办 浏览:77
java拨号 浏览:868
er5200如何设置虚拟服务器 浏览:573
网络中心服务器叫什么 浏览:460
isplay单片机下载器 浏览:482