我們稍微講講用ereg()和eregi()兩個函數(shù)處理常規(guī)表達(dá)式。前面我已經(jīng)提過,這些函數(shù)有的很簡單,有的很復(fù)雜,看您的實際需要而定。
使用常規(guī)表達(dá)式,您可以對一個字符串進行檢查,搜索其中的一些結(jié)構(gòu)模式,判定這些模式是否滿足您的規(guī)定。最普遍的用法包括檢查電子郵件地址是否有效(當(dāng)然,即使這種辦法判定有效,也不能保證郵件地址真的存在)。
我們在這里不細(xì)究常規(guī)表達(dá)式的復(fù)雜細(xì)節(jié)了,僅僅給出幾個實例。您可以使用上一頁中用過的表格 - 把相應(yīng)的程序代碼復(fù)制過來,添加到下面的代碼段中,就可以看到它是怎樣工作的。
首先,我們要確保表格中各欄只能輸入字母。下面的常規(guī)表達(dá)式在用戶輸入一個或多個小寫字母時判定為真,而輸入數(shù)字是不允許的:
if (!ereg("[a-z]", $first) || !ereg("[a-z]", $last)) {
現(xiàn)在我們更進一步,檢查字符串的長度是否是四到六位字符長。用[[:alpha:]]是檢查字符是不是字母的簡單方式。大括號內(nèi)的數(shù)字檢查字符個數(shù)。還要說明的是,^ 和 $ 分別代表字符串的開始和結(jié)束。
if (!ereg("^[[:alpha:]]{4,6}$", $first) || !ereg("^[[:alpha:]]{4,6}$", $last)) {
最后,我們來構(gòu)造一個常規(guī)表達(dá)式,來檢驗電子郵件地址的有效性。這種檢驗方式的效果已經(jīng)引發(fā)了相當(dāng)多的討論。沒有什么東西是十全十美的,不過我下面給出的這段程序還是十分奏效的。
| if (!ereg(^[-!#$%&/*+//./0-9=?a-z^_`a-z{|}~]+. @. [-!#$%&/*+///0-9=?a-z^_`a-z{|}~]+/.. [-!#$%&/*+//./0-9=?a-z^_`a-z{|}~]+$, $last)) { |
別花太多時間來細(xì)究這段代碼了,還是先到下一頁內(nèi)容吧。
商業(yè)源碼熱門下載www.html.org.cn
新聞熱點
疑難解答
圖片精選