真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

PHP如何驗(yàn)證表單中的郵件和URL

本篇內(nèi)容介紹了“PHP如何驗(yàn)證表單中的郵件和URL”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

站在用戶的角度思考問題,與客戶深入溝通,找到臨翔網(wǎng)站設(shè)計(jì)與臨翔網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:做網(wǎng)站、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、空間域名、虛擬空間、企業(yè)郵箱。業(yè)務(wù)覆蓋臨翔地區(qū)。

PHP如何驗(yàn)證表單中的郵件和URL

正則表達(dá)式

正則表達(dá)式是一種描述一段文本規(guī)則的方法,它不是精確的匹配,而是通過一些特定的符號(hào)來模糊匹配。在PHP中,我們使用preg_match函數(shù)來執(zhí)行正則表達(dá)式的匹配,一個(gè)參數(shù)是我們的正則表達(dá)式規(guī)則,第二個(gè)參數(shù)是需要檢查的文本。

preg_match函數(shù)的語法格式如下:

preg_match ( string $正則 , string $字符串 [, array &$結(jié)果] )

其中我們需要注意到的是:根據(jù)$正則變量,匹配$字符串變量。如果存在則返回匹配的個(gè)數(shù),把匹配到的結(jié)果放到$結(jié)果變量里。如果沒有匹配到結(jié)果返回0。^表示開始;$表示結(jié)束。

接下來我們通過示例來看一下正則表達(dá)式的應(yīng)用:

以上示例中就是在匹配以date 開始的編號(hào)。輸出結(jié)果:

PHP如何驗(yàn)證表單中的郵件和URL

接下來我們看一下preg_matchede第三個(gè)參數(shù)是匹配的內(nèi)容,通常我們會(huì)將一個(gè)空的數(shù)組傳遞進(jìn)去,因?yàn)槭莻髦氛{(diào)用,匹配結(jié)束后,數(shù)組中會(huì)得到具體匹配的內(nèi)容。

我們還是通過一個(gè)示例來看一下,示例如下:

輸出結(jié)果:

PHP如何驗(yàn)證表單中的郵件和URL

在正則表達(dá)式中字母使用\w、而數(shù)字使用\d\D表示非數(shù)字)來表示

+ 表示一個(gè)或者多個(gè),* 表示0個(gè)或者多個(gè),? 表示有或者沒有,{n} 表示具體幾位,{m, n} 表示大于m個(gè),小于n個(gè)。

示例如下:

輸出結(jié)果:

PHP如何驗(yàn)證表單中的郵件和URL

使用或條件可以用來匹配字符串,如果僅僅是單個(gè)的字母或者字符,則可以使用范圍表示,使用[]可以表示一個(gè)字符的取值范圍'/[a0\.]/' 可以匹配包含了a或者0或者.的任意字符串。

另外,正則表達(dá)式還可以使用-來表示一組范圍,[a-z] 表示小寫的26個(gè)字母中的任意一個(gè),[A-Z] 表示一個(gè)大寫字母,[0-9] 表示一位十進(jìn)制數(shù)。

正則表達(dá)式了解這么多,接下來我們就要來驗(yàn)證表單的格式是否正確了。

PHP驗(yàn)證名稱、郵件和URL

名字的驗(yàn)證規(guī)則是必須的,并且只能包含字母和空格。E-mail的驗(yàn)證規(guī)則是必須的,其中必須是一個(gè)有效的電子郵件地址(包含'@'和'.')。網(wǎng)址的驗(yàn)證規(guī)則的是可選的,并且如果存在,它必須包含一個(gè)有效的URL。備注的驗(yàn)證規(guī)則是可選的,多行輸入字段。性別的驗(yàn)證規(guī)則是必須的,必須選擇一個(gè)。

那接下來我們可以通過上述中的政策表達(dá)式來寫出以下代碼,將通過簡(jiǎn)單的方式來檢測(cè) name 字段是否包含字母和空格,如果 name 字段值不合法,將輸出錯(cuò)誤信息,示例如下:

$name = test_input($_POST["name"]);
if (!preg_match("/^[a-zA-Z]*$/",$name)) {
    $nameErr = "只允許字母和空格";
}

通過上述代碼便能夠提示用戶姓名填寫的格式,接下來我們可以根據(jù)同樣的方法來驗(yàn)證郵件和URL。

郵箱名可以是字母、數(shù)字、下劃線和點(diǎn)組成的任意字符;郵箱要包含@符號(hào),后面的文字按域名規(guī)則處理,以下代碼將通過簡(jiǎn)單的方式來檢測(cè) e-mail 地址是否合法。如果 e-mail 地址不合法,將輸出錯(cuò)誤信息,示例如下:

$email = test_input($_POST["email"]);
if (!preg_match("/^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/",$email)) {
    $emailErr = "無效的 email 格式!";
}

以下代碼將檢測(cè)URL地址是否合法 (以下正則表達(dá)式運(yùn)行URL中含有破折號(hào):"-"), 如果 URL 地址不合法,將輸出錯(cuò)誤信息,示例如下:

$website = test_input($_POST["website"]);
if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%
=~_|]/i",$website)) {
    $websiteErr = "無效的 URL";
}

將上述的驗(yàn)證方法添加到整體的格式中,示例如下:


 
 
     
     創(chuàng)新互聯(lián)
 
 
 
 
 
 
 

PHP 驗(yàn)證實(shí)例

 

* 必需的字段

 ">      姓名:            

     郵箱:            

     網(wǎng)址:            

     評(píng)論:      

     性別:      女性      男性            

           您的輸入:";  echo $name;  echo "
";  echo $email;  echo "
";  echo $website;  echo "
";  echo $comment;  echo "
";  echo $gender;  ?>      

通過上述代碼,當(dāng)我們沒有按照我們?cè)O(shè)置的規(guī)則填寫的話,輸出結(jié)果如下:

PHP如何驗(yàn)證表單中的郵件和URL

當(dāng)然作為擴(kuò)展知識(shí),也可以使用彈窗,只需要在上述示例中的代碼做些改動(dòng),將輸出的字符變成彈窗的格式,示例如下:


 
 
     
     創(chuàng)新互聯(lián)
 
 
 
 
 
        {
        alert(\"姓名是必填的\"); //彈出對(duì)話框
        }
        ";
     } else {
         $name = test_input($_POST["name"]);
         if (!preg_match("/^[a-zA-Z ]*$/",$name)) {
             $nameErr = "
            {
            alert(\"姓名只允許字母和空格\"); //彈出對(duì)話框
            }
            ";
         }
     }
     if (empty($_POST["email"])) {
         $emailErr = "
        {
        alert(\"電郵是必填的\"); //彈出對(duì)話框
        }
        ";
     } else {
         $email = test_input($_POST["email"]);
         // 檢查電子郵件地址語法是否有效
         if (!preg_match("/^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/",$email)) {
             $emailErr = "
            {
            alert(\"無效email的格式\"); //彈出對(duì)話框
            }
            ";
         }
     }
     if (empty($_POST["website"])) {
         $website = "";
     } else {
         $website = test_input($_POST["website"]);
         // 檢查 URL 地址語法是否有效(正則表達(dá)式也允許 URL 中的斜杠)
         if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$website)) {
             $websiteErr = "
            {
            alert(\"無效的URL\"); //彈出對(duì)話框
            }
            ";
         }
     }
     if (empty($_POST["comment"])) {
         $comment = "";
     } else {
         $comment = test_input($_POST["comment"]);
     }
     if (empty($_POST["gender"])) {
         $genderErr = "
        {
        alert(\"性別是必選的\"); //彈出對(duì)話框
        }
        ";
     } else {
         $gender = test_input($_POST["gender"]);
     }
 }
 function test_input($data) {
     $data = trim($data);
     $data = stripslashes($data);
     $data = htmlspecialchars($data);
     return $data;
 }
 ?>
 

PHP 驗(yàn)證實(shí)例

 

* 必需的字段

 ">      姓名:            

     郵箱:            

     網(wǎng)址:            

     評(píng)論:      

     性別:      女性      男性            

           您的輸入:";  echo $name;  echo "
";  echo $email;  echo "
";  echo $website;  echo "
";  echo $comment;  echo "
";  echo $gender;  ?>      

當(dāng)填寫內(nèi)容不按規(guī)定規(guī)則是,點(diǎn)擊提交,輸出結(jié)果如下:

PHP如何驗(yàn)證表單中的郵件和URL

PHP如何驗(yàn)證表單中的郵件和URL

PHP如何驗(yàn)證表單中的郵件和URL

如此我們便完成了PHP驗(yàn)證名稱、郵件和URL。

“PHP如何驗(yàn)證表單中的郵件和URL”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!


當(dāng)前名稱:PHP如何驗(yàn)證表單中的郵件和URL
地址分享:http://weahome.cn/article/ggcdpg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部