이 섹션에서는 이름, 이메일, URL을 확인하는 방법을 소개합니다.
다음 코드는 이름 필드에 문자와 공백이 포함되어 있는지 여부를 감지하는 간단한 방법을 사용합니다. 이름 필드 값이 잘못된 경우 오류 메시지가 출력됩니다.
$name = test_input($_POST["name"]);if (!preg_match("/^[a-zA-Z ]*$/",$name)) { $nameErr = "문자와 공백만 허용됩니다."; }
preg_match — 정규식 일치를 수행합니다. 문법: int preg_match ( 문자열 $pattern , 문자열 $subject [, 배열 $matches [, int $flags ]] ) 패턴에 지정된 정규식과 일치하는 항목을 제목 문자열에서 검색합니다. 일치하는 항목이 제공되면 검색 결과로 채워집니다. $matches[0]에는 전체 패턴과 일치하는 텍스트가 포함되고, $matches[1]에는 괄호 안의 첫 번째 캡처된 하위 패턴과 일치하는 텍스트가 포함됩니다. |
다음 코드는 간단한 방법으로 이메일 주소가 합법적인지 확인합니다. 이메일 주소가 잘못된 경우 다음과 같은 오류 메시지가 출력됩니다.
$email = test_input($_POST["email"]);if (!preg_match("/([w-]+@[w-]+.[w-]+)/" ,$email)) { $emailErr = "잘못된 이메일 형식" }
다음 코드는 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// 변수를 정의하고 기본적으로 빈 값으로 설정 $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 = "이메일은 필수입니다." } else { $email = test_input($_POST["email"]); // 이메일이 유효한지 확인 if (!preg_match("/([w-]+@[w-]+.[w- ]+ )/",$email)) { $emailErr = "잘못된 이메일 형식"; } } if (empty($_POST["website"])) { $website = ""; } else { $website = test_input($_POST["website"]); // URL 주소가 유효한지 확인 if (!preg_match("/b(?:(?:https?|ftp)://|www.) [- a-z0-9+&@#/%?=~_|!:,.;]*[-a-z0-9+&@#/%=~_|]/i",$ 웹사이트) ) { $websiteErr = "잘못된 URL 주소"; } } if (empty($_POST["comment"])) { $comment = ""; } else { $comment = test_input($_POST["comment"]); (empty($_POST["gender"])) { $genderErr = "성별은 필수입니다." } else { $gender = test_input($_POST["성별"]) }}?>