테스트 사이트 - 개발 중인 베타 버전입니다

Form 정규식을 이용한 유효성 검사

· 8년 전 · 4332

Form 정규식을 이용한 유효성 검사

 

php는 정규식을 지원되면 그에 따른 패턴을 통해 다양한 유효성 검사를 할 수 있습니다.

 

 

Form 정규식을 이용한 유효성 검사 예제

<?php

    // 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"]);

            //name에 문자와 공백 허용 정규식 패턴을 이용한 유효성 검사

            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"]);

            // email은 PHP내의 내장함수를 통한 email 양식에 대한 유효성 검사

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

                $emailErr = "Invalid email format"; 

            }

        }

 

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

            $website = "";

        } else {

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

            // website에 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"]);

        }

    }

?>

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

게시글 목록

번호 제목
1050
그누보드5 toto slot gacor
1047
1045
1044
1019
1017
1016
1007
1005
1004
967
964
917
889
879
851
848
762
741
740
727
726
725
724
723
722
721
720
719
717