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년 전 | 4967 | ||
| 76 | 정규표현식 | 8년 전 | 4339 | ||
| 75 | 정규표현식 | 8년 전 | 10668 | ||
| 74 | 정규표현식 | 8년 전 | 7717 | ||
| 73 | 정규표현식 | 8년 전 | 5595 | ||
| 72 | 정규표현식 | 8년 전 | 6462 | ||
| 71 | 정규표현식 | 8년 전 | 7060 | ||
| 70 | 정규표현식 | 8년 전 | 3825 | ||
| 69 | 정규표현식 | 8년 전 | 5000 | ||
| 68 | 정규표현식 | 8년 전 | 5639 | ||
| 67 | 정규표현식 | 8년 전 | 4941 | ||
| 66 | 그누보드5 |
|
8년 전 | 4239 | |
| 65 | 그누보드5 |
|
9년 전 | 4111 | |
| 64 | 그누보드5 |
|
9년 전 | 7760 | |
| 63 | 그누보드5 |
|
9년 전 | 5409 | |
| 62 | 그누보드5 | 10년 전 | 132696 | ||
| 61 | 그누보드5 | 10년 전 | 7762 | ||
| 60 | 그누보드5 | 10년 전 | 6116 | ||
| 59 | 그누보드5 | 10년 전 | 6051 | ||
| 58 | 그누보드5 | 10년 전 | 6627 | ||
| 57 | 그누보드5 | 10년 전 | 10263 | ||
| 56 | 그누보드5 | 10년 전 | 7336 | ||
| 55 | 그누보드5 | 10년 전 | 11316 | ||
| 54 | 그누보드5 | 10년 전 | 7440 | ||
| 53 | 그누보드5 | 10년 전 | 20576 | ||
| 52 | 도로명주소 | 10년 전 | 5761 | ||
| 51 | 도로명주소 | 11년 전 | 6922 | ||
| 50 | 도로명주소 | 11년 전 | 9390 | ||
| 49 | 도로명주소 | 11년 전 | 8664 | ||
| 48 | 도로명주소 | 11년 전 | 8986 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기