PHP開發之表單驗證郵件和URL

來源:互聯網
上載者:User

PHP - 驗證名稱

以下代碼將通過簡單的方式來檢測 name 欄位是否包含字母和空格,如果 name 欄位值不合法,將輸出錯誤資訊:

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

PS:

preg_match — 進行Regex匹配。

文法:

int preg_match ( string $pattern , string $subject [, array $matches [, int $flags ]] )

在 subject 字串中搜尋與 pattern 給出的Regex相匹配的內容。如果提供了 matches ,則其會被搜尋的結果所填充。$matches[0] 將包含與整個模式比對的文本,$matches[1] 將包含與第一個捕獲的括弧中的子模式所匹配的文本,以此類推。

PHP - 驗證郵件

以下代碼將通過簡單的方式來檢測 e-mail 地址是否合法。如果 e-mail 地址不合法,將輸出錯誤資訊:

$email = test_input($_POST["email"]);if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email))  {  $emailErr = "非法郵件地址";   }

PHP - 驗證 URL

以下代碼將檢測URL地址是否合法 (以下Regex運行URL中含有破折號:"-"), 如果 URL 地址不合法,將輸出錯誤資訊:

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

PHP - 驗證 Name, E-mail, 和 URL

代碼如下所示:

執行個體

<?php// 定義變數並設為空白值$nameErr = $emailErr = $genderErr = $websiteErr = "";$name = $email = $gender = $comment = $website = "";if ($_SERVER["REQUEST_METHOD"] == "POST"){  if (empty($_POST["name"]))    {$nameErr = "Name is required";}  else    {    $name = test_input($_POST["name"]);    // check if name only contains letters and whitespace    if (!preg_match("/^[a-zA-Z ]*$/",$name))      {      $nameErr = "Only letters and white space allowed";       }    }  if (empty($_POST["email"]))    {$emailErr = "Email is required";}  else    {    $email = test_input($_POST["email"]);    // check if e-mail address syntax is valid    if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email))      {      $emailErr = "Invalid email format";       }    }  if (empty($_POST["website"]))    {$website = "";}  else    {    $website = test_input($_POST["website"]);    // check if URL address syntax is valid (this regular expression also allows dashes in the URL)    if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$website))      {      $websiteErr = "Invalid URL";       }    }  if (empty($_POST["comment"]))    {$comment = "";}  else    {$comment = test_input($_POST["comment"]);}  if (empty($_POST["gender"]))    {$genderErr = "Gender is required";}  else    {$gender = test_input($_POST["gender"]);}}?>

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.