Form 정규식을 이용한 유효성 검사
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"]);
}
}
?>
게시판 목록
개발강좌
1. 유창화님의 썸네일, 정규표현식, 이미지관련 강좌
2. Sphinx 검색엔진을 이용한 도로명 주소 검색 시스템 구축
| 번호 | 분류 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|---|
| 77 | 정규표현식 | 8년 전 | 4964 | ||
| 76 | 정규표현식 | 8년 전 | 4337 | ||
| 75 | 정규표현식 | 8년 전 | 10668 | ||
| 74 | 정규표현식 | 8년 전 | 7715 | ||
| 73 | 정규표현식 | 8년 전 | 5595 | ||
| 72 | 정규표현식 | 8년 전 | 6461 | ||
| 71 | 정규표현식 | 8년 전 | 7060 | ||
| 70 | 정규표현식 | 8년 전 | 3822 | ||
| 69 | 정규표현식 | 8년 전 | 4997 | ||
| 68 | 정규표현식 | 8년 전 | 5637 | ||
| 67 | 정규표현식 | 8년 전 | 4939 | ||
| 66 | 그누보드5 |
|
8년 전 | 4239 | |
| 65 | 그누보드5 |
|
9년 전 | 4110 | |
| 64 | 그누보드5 |
|
9년 전 | 7760 | |
| 63 | 그누보드5 |
|
9년 전 | 5406 | |
| 62 | 그누보드5 | 10년 전 | 132690 | ||
| 61 | 그누보드5 | 10년 전 | 7757 | ||
| 60 | 그누보드5 | 10년 전 | 6113 | ||
| 59 | 그누보드5 | 10년 전 | 6048 | ||
| 58 | 그누보드5 | 10년 전 | 6626 | ||
| 57 | 그누보드5 | 10년 전 | 10259 | ||
| 56 | 그누보드5 | 10년 전 | 7335 | ||
| 55 | 그누보드5 | 10년 전 | 11315 | ||
| 54 | 그누보드5 | 10년 전 | 7438 | ||
| 53 | 그누보드5 | 10년 전 | 20572 | ||
| 52 | 도로명주소 | 10년 전 | 5757 | ||
| 51 | 도로명주소 | 11년 전 | 6919 | ||
| 50 | 도로명주소 | 11년 전 | 9389 | ||
| 49 | 도로명주소 | 11년 전 | 8662 | ||
| 48 | 도로명주소 | 11년 전 | 8981 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기