PHP email va URL validatsiyasi


Ushbu bobda ismlar, elektron pochta va URL manzillarni qanday tekshirish mumkinligi ko‘rsatilgan.


ULASHISH

PHP - Ismni tasdiqlash

Quyidagi kod nom maydonida faqat harflar, chiziqlar, apostroflar va bo‘shliqlar mavjudligini tekshirishning oddiy usulini ko‘rsatadi. Agar nom maydonining qiymati noto‘g‘ri bo‘lsa, xato xabarini saqlang:

$name = test_input($_POST["name"]);
if (!preg_match("/^[a-zA-Z-' ]*$/",$name)) {
  $nameErr = "Only letters and white space allowed";
}

preg_match() funksiyasi stringda shablonni qidiradi: shablon mavjud bo‘lsa true, aks holda false qaytaradi


PHP - Elektron pochtani tekshirish

Elektron pochta manzili to‘g‘ri tuzilganligini tekshirishning eng oson va xavfsiz usuli PHP ning filter_var() funksiyasidan foydalanishdir.

Quyidagi kodda, agar elektron pochta manzili yaxshi shakllanmagan bo‘lsa, xato xabarini saqlang:

$email = test_input($_POST["email"]);
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
  $emailErr = "Invalid email format";
}

PHP - URL manzilini tekshirish

Quyidagi kod URL manzili sintaksisi to‘g‘ri yoki yo‘qligini tekshirish usulini ko‘rsatadi (bu oddiy ifoda URLda tire qo‘yishga ham ruxsat beradi). Agar URL manzili sintaksisi noto‘g‘ri bo‘lsa, xato xabarini saqlang:

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


PHP - Ism, elektron pochta va URL manzilini tasdiqlang

Endi skript quyidagicha ko‘rinadi:

Misol

// define variables and set to empty values
$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 is well-formed
    if (!filter_var($email, FILTER_VALIDATE_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"]);
  }
}
Misolni ishga tushirish »

Keyingi qadam, foydalanuvchi shaklni yuborganida, shakl barcha kiritish maydonlarini bo‘shatishning oldini olishni ko‘rsatishdir.


W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!