PHP網(wǎng)站建設(shè)對于設(shè)計(jì)智能表單的方法詳解,在智能表單應(yīng)用程序中,正則表達(dá)式至少有兩種用途。深圳網(wǎng)站制作公司提醒第一種用途是在顧客的反饋中查找特定的名詞。使用正則表達(dá)式,可以做得更智能一些。使用一個(gè)字符串函數(shù),如果希望匹配shop、customerservice或retail,就必須做3次不同的搜索。如果使用一個(gè)正則表達(dá)式,就可以同時(shí)匹配所有3個(gè),如下所示:
shop|customerservice|retail
第二個(gè)用途是驗(yàn)證程序中用戶的電子郵件地址,這需要通過用正則表達(dá)式來對電子郵件地址的標(biāo)準(zhǔn)格式進(jìn)行編碼。這個(gè)格式中包含一些數(shù)字或標(biāo)點(diǎn)符號,接著是符號“@”,然后是包括文字或數(shù)字和字符組成的字符串,后面接著是一個(gè)“.”(點(diǎn)號),后面包括文字或數(shù)字以連字符組成的字符串,可能還有更多的點(diǎn)號,直到字符串結(jié)束,它的編碼如下:
^[a-zA-Z0-9_]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$
子表達(dá)式^[a-zA-Z0-9_]+表示至少由一個(gè)字母、數(shù)字、下劃線、連字符、點(diǎn)號或者這些字符組合為開始的字符串。注意,當(dāng)在一個(gè)字符類的開始或末尾處使用點(diǎn)號時(shí),點(diǎn)號將失去其特殊通配符的意義,只能成為一個(gè)點(diǎn)號字符。
符號@匹配字符@。而子表達(dá)式[a-zA-Z0-9\-]+與包含文字?jǐn)?shù)字字符和連字符的主機(jī)名匹配。注意,去除了連字符,因?yàn)樗欠嚼ㄌ杻?nèi)的特殊字符。字符組合“\.”匹配“.”字符。在字符類外部使用點(diǎn)號,因此必須對其轉(zhuǎn)義,使其能夠匹配一個(gè)點(diǎn)號字符。子表達(dá)式[a-zA-Z0-9\-\.]+$匹配域名的剩下部分,它包含字母、數(shù)字和連字符,如果需要還可包含更多的點(diǎn)號直到字符串的末尾。不難發(fā)現(xiàn),有時(shí)一個(gè)無效的電子郵件地址也會符合這個(gè)正則表達(dá)式,找到所有無效電子郵件幾乎是不可能的,但是經(jīng)過分析,情形將會有所改善。可以按許多不同的方式精化這個(gè)表達(dá)式。例如,可以列出所有有效的頂級域。
PHP網(wǎng)站制作設(shè)計(jì)智能表單方法之關(guān)于查找子字符串
查找字符串是正則表達(dá)式的主要應(yīng)用。在PHP中,可以使用正則表達(dá)式的兩個(gè)函數(shù):ereg()和eregi()。ereg()函數(shù)的基本用法如下:intereg(stringpattern,stringsearch,array[matches]);
該函數(shù)搜索字符串search,在pattern中尋找與正則表達(dá)式相匹配的字符串。如果發(fā)現(xiàn)了與pattern的子表達(dá)式相匹配的字符串,這些字符串將會存儲在數(shù)組matches中,每個(gè)數(shù)組元素對應(yīng)一個(gè)子表達(dá)式。函數(shù)eregi()除了不區(qū)分大小寫外,其他功能與ereg()一樣。
【示例】可以使用如下所示的代碼對智能表單例子進(jìn)行修改:
PHP網(wǎng)站制作關(guān)于替換子字符串
與前面使用的str_replace()函數(shù)一樣,也可以使用正則表達(dá)式來查找和替換子字符串。在正則表達(dá)式中,可以使用的兩個(gè)函數(shù)是ereg_replace()和eregi_replace(),基本用法如下:stringereg_replace(stringpattern,stringreplacement,stringsearch);
該函數(shù)在字符串search中查找正則表達(dá)式pattern的字符串,并且用字符串replacement來替換。函數(shù)eregi_replace()除了不區(qū)分大小寫外,其他與ereg_replace()相同。好了,網(wǎng)站制作公司本文關(guān)于“PHP網(wǎng)站建設(shè)怎樣設(shè)計(jì)智能表單的方法詳解”知識就分享到這里,希望能給你的工作有所幫助,謝謝關(guān)注,博納網(wǎng)絡(luò)編輯整理。