댓글 목록

PHP 양식 - Email과 URL유효성 검사

페이지 정보

작성자 운영자 작성일 18-03-13 14:59 조회 1,798 댓글 0

동영상 강좌는 유튜브 채널 '웹학교'를 이용하시기 바랍니다.

이 장에서는 이름, 전자메일과 URL의 유효성 검사 방법을 살펴봅니다.


PHP - 이름 유효성 검사


아래 코드는 이름 필드에 문자와 공백만 포함되어 있는지 확인하는 간단한 방법을 보여줍니다. 이름 필드의 값이 유효하지 않은 경우 오류 메시지를 저장하십시오.


preg_match()함수는 문자열에서 패턴을 검색하여 패턴이 있으면 true를 반환하고, 그렇지 않으면 false를 반환합니다.


PHP - Email 유효성 검사


Email주소의 형식이 올바른지 여부를 확인하는 가장 쉽고 안전한 방법은 PHP의 filter_var()함수를 사용하는 것입니다.


아래 코드에서 전자 메일 주소의 형식이 올바르지 않으면 오류 메시지를 저장하십시오.


$email = test_input($_POST["email"]);

if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {

  $emailErr = "email형식이 잘못되었습니다."; 

}


PHP - URL 유효성 검사


아래 코드는 URL주소 구문이 유효한 지 확인하는 방법을 보여줍니다. (이 정규표현식은 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 - 이름, Email과 URL 유효성 검사


전체 스크립트는 다음과 같습니다.


<?php


$nameErr = $emailErr = $genderErr = $websiteErr = "";

$name = $email = $gender = $comment = $website = "";


if ($_SERVER["REQUEST_METHOD"] == "POST") {

  if (empty($_POST["name"])) {

    $nameErr = "이름은 필수 입력입니다.";

  } else {

    $name = test_input($_POST["name"]);

    // 이름에 문자와 공백 만 포함되어 있는지 확인.

    if (!preg_match("/^[a-zA-Z ]*$/",$name)) {

      $nameErr = "글자와 공백 만 허용됨"; 

    }

  }


  if (empty($_POST["email"])) {

    $emailErr = "Email은 필수 입력입니다.";

  } else {

    $email = test_input($_POST["email"]);

    // Email 주소가 올바른지 확인하십시오.

    if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {

      $emailErr = "이메일 형식이 잘못되었습니다."; 

    }

  }


  if (empty($_POST["website"])) {

    $website = "";

  } else {

    $website = test_input($_POST["website"]);

    // URL 주소 구문이 유효한지 확인하십시오 (이 정규식은 URL에 대시도 허용합니다)

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

      $websiteErr = "URL 형식이 잘못되었습니다."; 

    }

  }

}

?>


** HTML5에서는 양식과 관련, 쉽게 유효성 검사가 가능합니다.

** 무료로 제공되는 html강좌를 참조하세요.


그누보드/영카트

/lib/register.lib.php

 -, valid_mb_email()

 -, prohibit_mb_email()


댓글목록 0

등록된 댓글이 없습니다.