์ ํจ์ฑ ๊ฒ์ฌ
: ๋ฐ์ดํฐ์ ์ ์ ์ฑ์ ํ์ธํ๋ ๊ณผ์
์ ๊ท ํํ์
: ๋ฌธ์์ด์ ํน์ ํํ๋ฅผ ์ฐพ์๋ด๊ธฐ ์ํ ํจํด ํํ์
let ๋ณ์๋ช
= /์ ๊ท ํํ์/[Flag]
JavaScript
๋ณต์ฌ
let ๋ณ์๋ช
= new RegExp('์ ๊ท ํํ์' , ['Flag'] )
JavaScript
๋ณต์ฌ
flag
โข
i : ignore case : ๋๋ฌธ์ ์๋ฌธ์๋ฅผ ๊ตฌ๋ถ์์ด ๊ฒ์ถ
โข
g : global : ๋ฌธ์์ด์ ๋ด์ ๋ชจ๋ ํจํด ๊ฒ์ถ
โข
m : multi : ๋ฌธ์์ด์ ์ค๋ฐ๊ฟ์ด ์๋์ง ๊น์ง๋ ๊ฒ์ถ
๊ตฌ๋ฌธ | ์ค๋ช
| ์์ |
๋ฌธ์ | ์ผ๋ฐ ๋ฌธ์๋ ์์ฒด๋ก ๋งค์น๋ฉ๋๋ค. | abc๋ "abc"์ ๋งค์น |
. | ์ด๋ค ๋ฌธ์ ํ๋์ ๋งค์น๋ฉ๋๋ค. | a.c๋ "abc"์ ๋งค์น |
\d | ์ซ์(digit)์ ๋งค์น๋ฉ๋๋ค. | \d+๋ "123"์ ๋งค์น |
\D | ์ซ์๊ฐ ์๋ ๋ฌธ์์ ๋งค์น๋ฉ๋๋ค. | \D+๋ "abc"์ ๋งค์น |
\w | ๋ฌธ์(word character)์ ๋งค์น๋ฉ๋๋ค. | \w+๋ "hello"์ ๋งค์น |
\W | ๋ฌธ์๊ฐ ์๋ ๋ฌธ์์ ๋งค์น๋ฉ๋๋ค. | \W+๋ "123!"์ ๋งค์น |
\s | ๊ณต๋ฐฑ ๋ฌธ์์ ๋งค์น๋ฉ๋๋ค. | \s+๋ " \t\n"์ ๋งค์น |
\S | ๊ณต๋ฐฑ์ด ์๋ ๋ฌธ์์ ๋งค์น๋ฉ๋๋ค. | \S+๋ "abc123"์ ๋งค์น |
^ | ๋ฌธ์์ด์ ์์๊ณผ ๋งค์น๋ฉ๋๋ค. | ^abc๋ "abcdef"์ ๋งค์นํ์ง ์์ |
$ | ๋ฌธ์์ด์ ๋๊ณผ ๋งค์น๋ฉ๋๋ค. | xyz$๋ "xyz123"์ ๋งค์นํ์ง ์์ |
[abc] | ๋๊ดํธ ์์ ์ด๋ค ๋ฌธ์(a, b, c)์ ๋งค์น๋ฉ๋๋ค. | [aeiou]๋ "apple"์์ "a"์ ๋งค์น |
[^abc] | ๋๊ดํธ ์์ ์ด๋ค ๋ฌธ์(a, b, c)๋ฅผ ์ ์ธํ ๋ฌธ์์ ๋งค์น๋ฉ๋๋ค. | [^aeiou]๋ "apple"์์ "p", "l" ๋ฑ๊ณผ ๋งค์น |
[a-z] | a๋ถํฐ z๊น์ง ๋ฒ์์ ๋ฌธ์์ ๋งค์น๋ฉ๋๋ค. | [a-z]+๋ "hello"์์ "hello"์ ๋งค์น |
(x) | ๊ทธ๋ฃน์ ๋ํ๋ด๋ฉฐ, x๋ฅผ ๋งค์นํฉ๋๋ค. | (abc)+๋ "abcabc"์ ๋งค์น |
x|y | x ๋๋ y ๋งค์นํฉ๋๋ค | x|y ๋ โxโ ๋๋ โyโ ์ ๋งค์น |
x? | x๊ฐ 0 ๋๋ 1ํ ๋ํ๋ ๋ ๋งค์นํฉ๋๋ค. | ab?c๋ "abc"์ "ac"์ ๋งค์น |
x* | x๊ฐ 0ํ ์ด์ ๋ํ๋ ๋ ๋งค์นํฉ๋๋ค. | ab*c๋ "ac", "abc", "abbc" ๋ฑ๊ณผ ๋งค์น |
x+ | x๊ฐ 1ํ ์ด์ ๋ํ๋ ๋ ๋งค์นํฉ๋๋ค. | ab+c๋ "abc", "abbc" ๋ฑ๊ณผ ๋งค์น |
x{m} | x๊ฐ ์ ํํ mํ ๋ํ๋ ๋ ๋งค์นํฉ๋๋ค. | a{2}๋ "aa"์ ๋งค์น |
x{m, n} | x๊ฐ ์ต์ mํ์์ ์ต๋ nํ๊น์ง ๋ํ๋ ๋ ๋งค์นํฉ๋๋ค. | a{1,3}๋ "a", "aa", "aaa"์ ๋งค์น |
x{m,} | x๊ฐ ์ต์ mํ ์ด์ ๋ํ๋ ๋ ๋งค์นํฉ๋๋ค. | a{2,}๋ "aa", "aaa" ๋ฑ๊ณผ ๋งค์น |
x | y | x ๋๋ y์ ๋งค์น๋ฉ๋๋ค. |
์ ๊ทํํ์ ๋ฉ์๋
โข
test( ) : ๋ฌธ์์ด์ด ์ง์ ํ ์ ๊ทํํ์์ ๋ถํฉํ์ง ์ฌ๋ถ ๋ฐํ (true/false)
โข
exec( ) : ๋ฌธ์์ด์ด ์ง์ ํ ์ ๊ทํํ์์ ๋ถํฉํ ๋ฌธ์์ด์ ์ถ์ถํ์ฌ ๋ฐํ
์์ด๋ ๊ฒ์ฌ
โข
์์ด, ํ๊ธ, ์ซ์๋ง ๋ถํฉ
/^[a-zA-Z0-9ใฑ-ใ
ใ
-ใ
ฃ๊ฐ-ํฃ]+$/
JavaScript
๋ณต์ฌ
let regExpId = /^[a-zA-Z0-9ใฑ-ใ
ใ
-ใ
ฃ๊ฐ-ํฃ]+$/
Java
๋ณต์ฌ
์ด๋ฆ ๊ฒ์ฌ
โข
ํ๊ธ๋ง ๋ถํฉ
/^[๊ฐ-ํฃ]*$/
JavaScript
๋ณต์ฌ
let regExpName = /^[๊ฐ-ํฃ]*$/
Java
๋ณต์ฌ
์ ํ๋ฒํธ ๊ฒ์ฌ
โข
XXX-XXX-XXXX ๋๋ XXX-XXXX-XXXX ๋ง ๋ถํฉ
/^\d{3}-\d{3,4}-\d{4}$/
JavaScript
๋ณต์ฌ
let regExpPhone = /^\d{3}-\d{3,4}-\d{4}$/
Java
๋ณต์ฌ
์ด๋ฉ์ผ ๊ฒ์ฌ
โข
(์ฒซ๊ธ์ ์๋ฌธ์)(์์ด,์ซ์, _ - . )@(์์ด).(์์ด)
/^[0-9a-zA-Z]([-_\.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-_\.]?[0-9a-zA-Z])*\.[a-zA-Z]{2,3}$/i
JavaScript
๋ณต์ฌ
let regExpEmail = /^[0-9a-zA-Z]([-_\.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-_\.]?[0-9a-zA-Z])*\.[a-zA-Z]{2,3}$/i
Java
๋ณต์ฌ
๋น๋ฐ๋ฒํธ ๊ฒ์ฌ
โข
์์ด, ์ซ์ ํฌํจ 8๊ธ์ ์ด์ (ํน์๋ฌธ์ ํ์ฉ)
/^(?=.*[A-Za-z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$/
JavaScript
๋ณต์ฌ
let passwordPattern = /^(?=.*[A-Za-z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$/;
JavaScript
๋ณต์ฌ
โข
?= : ํ์ฌ ์์น์์ ๊ดํธ ์์ ํจํด์ด ์์ชฝ์ ์๋์ง ํ์ธ
โข
a(?=b) : ab
, ac
, acb 
ํจํด | ์ค๋ช
|
(?=.*[A-Za-z]) | ์๋ฌธ์ ์ค ์ ์ด๋ ํ๋ ์ด์ ์กด์ฌ (. |
(?=.*\d) | ์ ์ด๋ ์ซ์ ํ๋ ์ด์ ์กด์ฌ |
(?=.*[@$!%*?&]) | ์ ์ด๋ โ@$!%*?&โ ํน์ ๊ธฐํธ ์ค ํ๋ ์ด์ ์กด์ฌ |
[A-Za-z\d@$!%*?&] | ์๋ฌธ, ์ซ์, ํน์๋ฌธ์ ๊ตฌ์ฑ |
{8,} | 8์ ์ด์ |
์์์ฝ๋
โข
Java ๋ผ๋ ๋ฌธ์ ๋์๋ฌธ์ ๊ตฌ๋ถ ์์ด ๊ฒ์ฌ
โข
์์ด๋, ์ด๋ฆ, ์ ํ๋ฒํธ, ์ด๋ฉ์ผ ํจํด ๊ฒ์ฌ
โข
๋ก๊ทธ์ธ ์ ํจ์ฑ ๊ฒ์ฌ
โข
ํ์๊ฐ์
์ ํจ์ฑ ๊ฒ์ฌ
Java ๋ผ๋ ๋ฌธ์ ๋์๋ฌธ์ ๊ตฌ๋ถ ์์ด ๊ฒ์ฌ
โข
regexp01.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>์ ๊ทํํ์</title>
</head>
<body>
<h1>์ ๊ทํํ์</h1>
<form name="form" onsubmit="return checkForm()">
<p>์ ๋ชฉ : <input type="text" name="title" /></p>
<p><input type="submit" value="๋ฑ๋ก" /></p>
</form>
<script>
function checkForm() {
let regExp = /Java/i // Java ๋ผ๋ ๋ฌธ์์ด์ ๋์๋ฌธ์ ๊ตฌ๋ถ์์ด ๊ฒ์ฌ
let str = document.form.title.value
let result = regExp.exec(str)
// exec() : ์ ๊ท ํํ์์ ๋ถํฉํ ๋ฌธ์์ด ๋ฐํ
// test() : ์ ๊ท ํํ์์ ๋ถํฉํ์ง ์ฌ๋ถ๋ฅผ ๋ฐํ(true/false)
if( regExp.test(str) ) {
alert(result[0])
}
return false
}
</script>
</body>
</html>
HTML
๋ณต์ฌ
์์ด๋, ์ด๋ฆ, ์ ํ๋ฒํธ, ์ด๋ฉ์ผ ํจํด ๊ฒ์ฌ
โข
regexp02.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>์ ๊ทํํ์</title>
</head>
<body>
<h1>์ ๊ทํํ์</h1>
<form name="form" onsubmit="return checkForm()">
<p>์ ๋ชฉ : <input type="text" name="title" /> </p>
<p>์์ด๋ : <input type="text" name="id" /> </p>
<p>์ด๋ฆ : <input type="text" name="name" /> </p>
<p>์ ํ๋ฒํธ : <select name="phone1">
<option value="010">010</option>
<option value="011">011</option>
<option value="016">016</option>
<option value="017">017</option>
<option value="019">019</option>
</select>
- <input type="text" maxlength="4" size="4" name="phone2">
- <input type="text" maxlength="4" size="4" name="phone3">
<p>์ด๋ฉ์ผ : <input type="text" name="email" /> </p>
<p><input type="submit" value="๋ฑ๋ก" /> </p>
</form>
<script>
// ํ์๊ฐ์
์ ๊ท ํํ์์ผ๋ก ์ ํจ์ฑ ๊ฒ์ฌ
function checkForm() {
// ์์ด๋ ํจํด : ์๋ฌธ์, ํ๊ธ ์์
let regExpId = /^[a-zA-Zใฑ-ใ
ใ
-ใ
ฃ๊ฐ-ํฃ]+$/
// ์ด๋ฆ ํจํด : ํ๊ธ
let regExpName = /^[๊ฐ-ํฃ]*$/
// ์ ํ๋ฒํธ ํจํด : [3์๋ฆฌ ์ซ์]-[3~4์๋ฆฌ ์ซ์]-[4์๋ฆฌ ์ซ์]
let regExpPhone = /^\d{3}-\d{3,4}-\d{4}$/
// ์ด๋ฉ์ผ ํจํด [์ซ์,์๋ฌธ์]@[์ซ์,์๋ฌธ์].~~.[์๋ฌธ์2~3์๋ฆฌ]
// OOO@OOOO.com
// OOO@OOOO.co.kr
// OOO@OOOO.ac.kr
// OOO@OOOO.org
let regExpEmail = /^[0-9a-zA-Z]([-_\.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-_\.]?[0-9a-zA-Z])*\.[a-zA-Z]{2,3}$/i
// ๋ถ์ - /^[0-9a-zA-Z](-_\.)?[0-9a-zA-Z]*
// /^[0-9a-zA-Z](-_\.)?[0-9a-zA-Z]*
// ^[0-9a-zA-Z] : ์์์ ์ซ์ ๋๋ ์์ด
// (-_\.)? : ์ค๊ฐ์ -, _, . 0 ๋๋ 1ํ ๊ฐ๋ฅ
// [0-9a-zA-Z]* : ๊ทธ ํ์๋ ์ซ์ ๋๋ ์์ด๊ฐ 0 ๋๋ 1ํ์ด์
// ์ ์ฒด ๋ถ์
// (1) : /^[0-9a-zA-Z](-_\.)?[0-9a-zA-Z]*
// (2) : @
// (3) : [0-9a-zA-Z](-_\.)?[0-9a-zA-Z]*
// (4) : .
// (5) : [a-zA-Z]{2,3}$/i
// ๊ฐ๋ฅ
// joeun
// joeun1004
// joeun_1004
// joeun-1004
// 1004joeun
// 1004-joeun
// joeun.1004
// ๋ถ๊ฐ๋ฅ
// -joeun
// _jouen
let id = form.id.value
let name = form.name.value
let phone = form.phone1.value + "-" + form.phone2.value + "-" + form.phone3.value
let email = form.email.value
// test() : ๋ถํฉO-true, ๋ถํฉX-false
if( !regExpId.test(id) ) {
alert('์์ด๋๋ฅผ ํ์์ ๋ง๊ฒ ์
๋ ฅํด์ฃผ์ธ์')
return false
}
if( !regExpName.test(name) ) {
alert('์ด๋ฆ ํ์์ ๋ง๊ฒ ์
๋ ฅํด์ฃผ์ธ์')
return false
}
if( !regExpPhone.test(phone) ) {
alert('์ ํ๋ฒํธ ํ์์ ๋ง๊ฒ ์
๋ ฅํด์ฃผ์ธ์')
return false
}
if( !regExpEmail.test(email) ) {
alert('์ด๋ฉ์ผ ํ์์ ๋ง๊ฒ ์
๋ ฅํด์ฃผ์ธ์')
return false
}
}
</script>
</body>
</html>
HTML
๋ณต์ฌ
๋ก๊ทธ์ธ ์ ํจ์ฑ ๊ฒ์ฌ
โข
validation01.jsp
โข
validation01_pro.jsp
โข
validation01.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>์์ด๋ ๋น๋ฐ๋ฒํธ ์ ํจ์ฑ ๊ฒ์ฌ</title>
</head>
<body>
<h1>๋ก๊ทธ์ธ</h1>
<h3>์ ํจ์ฑ ๊ฒ์ฌ</h3>
<!--
onsubmit="return ์ฌ๋ถ"
- ์ฌ๋ถ : true ์ด๋ฉด, submit(์์ฒญ์ ์ก)
false ์ด๋ฉด, sumbmit ์ ํจ
-->
<form name="loginForm" onsubmit="return checkLogin()" action="validation01_pro.jsp" method="post">
<p>์์ด๋ : <input type="text" name="id" maxlength="20" /></p>
<p>๋น๋ฐ๋ฒํธ : <input type="password" name="pw" /></p>
<p><input type="submit" value="๋ก๊ทธ์ธ"></p>
</form>
<script>
// ๋ก๊ทธ์ธ ์ ํจ์ฑ ๊ฒ์ฌ
function checkLogin() {
// alert("๋ก๊ทธ์ธ ์์ฒญ")
let form = document.loginForm // name์ด loginForm ์ธ ํผ ์์๋ฅผ ๊ฐ์ ธ์ด
let id = form.id.value
let pw = form.pw.value
// alert(id)
// alert(pw)
// 1. ์์ด๋๋ ํ์๊ฐ, 6~20์ ์ด๋ด
// ์์ด๋ ์
๋ ฅ์ฌ๋ถ ๊ฒ์ฆ
if( id == "" ) {
alert('์์ด๋๋ฅผ ์
๋ ฅํด์ฃผ์ธ์')
form.id.focus() // id input ํ๊ทธ์ ํฌ์ปค์ค
return false
}
// ์์ด๋ ๊ธ์ ์ ๊ฒ์ฆ
if( id.length < 6 || id.length > 20 ) {
alert('์์ด๋๋ 6~20์ ์ด๋ด๋ก ์
๋ ฅ ๊ฐ๋ฅํฉ๋๋ค.')
form.id.select() // id ์
๋ ฅ ๊ฐ์ ์ ํ
return false
}
// 2. ๋น๋ฐ๋ฒํธ๋ ํ์๊ฐ, 6์ ์ด์
// ๋น๋ฐ๋ฒํธ ์
๋ ฅ์ฌ๋ถ ๊ฒ์ฆ
if( pw == "" ) {
alert('๋น๋ฐ๋ฒํธ๋ฅผ ์
๋ ฅํด์ฃผ์ธ์')
form.pw.focus() // pw input ํ๊ทธ์ ํฌ์ปค์ค
return false
}
// ๋น๋ฐ๋ฒํธ ๊ธ์ ์ ๊ฒ์ฆ
if( pw.length < 6 ) {
alert('๋น๋ฐ๋ฒํธ๋ 6์ ์ด์์ผ๋ก ์
๋ ฅํด์ผํฉ๋๋ค.')
form.id.select() // pw ์
๋ ฅ ๊ฐ์ ์ ํ
return false
}
return true
}
</script>
</body>
</html>
HTML
๋ณต์ฌ
โข
validation01_pro.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>์ ํจ์ฑ ๊ฒ์ฌ</title>
</head>
<body>
<h3>๋ก๊ทธ์ธ์ ์ฑ๊ณตํ์ต๋๋ค.</h3>
<%
request.setCharacterEncoding("UTF-8");
String id = request.getParameter("id");
String pw = request.getParameter("pw");
%>
<p>์์ด๋ : <%= id %> </p>
<p>๋น๋ฐ๋ฒํธ : <%= pw %> </p>
</body>
</html>
HTML
๋ณต์ฌ
ํ์๊ฐ์ ์ ํจ์ฑ ๊ฒ์ฌ
โข
validation02.jsp
โข
validation02_pro.jsp
โข
validation02.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>ํ์๊ฐ์
</h1>
<h3>์ ํจ์ฑ ๊ฒ์ฌ</h3>
<form name="joinForm" onsubmit="return checkJoin()" action="validation02_pro.jsp" method="post">
<p>์์ด๋ : <input type="text" name="id" maxlength="20" /></p>
<p>๋น๋ฐ๋ฒํธ : <input type="password" name="pw" /></p>
<p>์ด๋ฆ : <input type="text" name="name" /></p>
<p>๋์ด : <input type="text" name="age" onkeyup="checkNumber()" /></p>
<p><input type="submit" value="ํ์๊ฐ์
"></p>
</form>
<script>
// ํ์๊ฐ์
์ ํจ์ฑ ๊ฒ์ฌ
function checkJoin() {
let form = document.joinForm // name์ด joinForm ์ธ ํผ ์์๋ฅผ ๊ฐ์ ธ์ด
let id = form.id.value
let pw = form.pw.value
// alert(id)
// alert(pw)
// 1. ์์ด๋๋ ํ์๊ฐ, 6~20์ ์ด๋ด
// ์์ด๋ ์
๋ ฅ์ฌ๋ถ ๊ฒ์ฆ
if( id == "" ) {
alert('์์ด๋๋ฅผ ์
๋ ฅํด์ฃผ์ธ์')
form.id.focus() // id input ํ๊ทธ์ ํฌ์ปค์ค
return false
}
// ์์ด๋ ๊ธ์ ์ ๊ฒ์ฆ
if( id.length < 6 || id.length > 20 ) {
alert('์์ด๋๋ 6~20์ ์ด๋ด๋ก ์
๋ ฅ ๊ฐ๋ฅํฉ๋๋ค.')
form.id.select() // id ์
๋ ฅ ๊ฐ์ ์ ํ
return false
}
// 2. ๋น๋ฐ๋ฒํธ๋ ํ์๊ฐ, 6์ ์ด์
// ๋น๋ฐ๋ฒํธ ์
๋ ฅ์ฌ๋ถ ๊ฒ์ฆ
if( pw == "" ) {
alert('๋น๋ฐ๋ฒํธ๋ฅผ ์
๋ ฅํด์ฃผ์ธ์')
form.pw.focus() // id input ํ๊ทธ์ ํฌ์ปค์ค
return false
}
// ๋น๋ฐ๋ฒํธ ๊ธ์ ์ ๊ฒ์ฆ
if( pw.length < 6 ) {
alert('๋น๋ฐ๋ฒํธ๋ 6์ ์ด์์ผ๋ก ์
๋ ฅํด์ผํฉ๋๋ค.')
form.id.select() // id ์
๋ ฅ ๊ฐ์ ์ ํ
return false
}
// 3. ์ด๋ฆ์ ํ์๊ฐ, ์ฒซ๊ธ์๋ ์ซ์๋ก ์ฌ์ฉ ๋ถ๊ฐ
let name = form.name.value
if( name == "" ) {
alert('์ด๋ฆ์ ์
๋ ฅํด์ฃผ์ธ์')
form.name.focus()
return false
}
// isNaN() : ์ซ์๊ฐ ์๋๋ฉด true
if( !isNaN( name.substr(0, 1) ) ) {
alert('์ด๋ฆ์ ์ซ์๋ก ์์ํ ์ ์์ต๋๋ค.')
form.name.select()
return false
}
return true
}
// ๋์ด ์ ํจ์ฑ ๊ฒ์ฌ
function checkNumber() {
let form = document.joinForm
console.log( event.keyCode )
// ์ซ์๊ฐ ์๋ ๊ฒฝ์ฐ
if( !(event.keyCode >= 48 && event.keyCode <= 57 ) ) {
alert('์ซ์๋ง ์
๋ ฅ ๊ฐ๋ฅํฉ๋๋ค.')
event.returnValue = false
form.age.value = ''
}
}
</script>
</body>
</html>
HTML
๋ณต์ฌ
โข
validation02_pro.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>์ ํจ์ฑ ๊ฒ์ฌ</title>
</head>
<body>
<h3>ํ์๊ฐ์
์ ์ฑ๊ณตํ์ต๋๋ค.</h3>
<%
request.setCharacterEncoding("UTF-8");
String id = request.getParameter("id");
String pw = request.getParameter("pw");
String name = request.getParameter("name");
String age = request.getParameter("age");
%>
<p>์์ด๋ : <%= id %> </p>
<p>๋น๋ฐ๋ฒํธ : <%= pw %> </p>
<p>์ด๋ฆ : <%= name %> </p>
<p>๋์ด : <%= age %> </p>
</body>
</html>
HTML
๋ณต์ฌ