Search

์œ ํšจ์„ฑ ๊ฒ€์‚ฌ & ์ •๊ทœ ํ‘œํ˜„์‹

์œ ํšจ์„ฑ ๊ฒ€์‚ฌ

: ๋ฐ์ดํ„ฐ์˜ ์ ์ ˆ์„ฑ์„ ํ™•์ธํ•˜๋Š” ๊ณผ์ •

์ •๊ทœ ํ‘œํ˜„์‹

: ๋ฌธ์ž์—ด์˜ ํŠน์ • ํ˜•ํƒœ๋ฅผ ์ฐพ์•„๋‚ด๊ธฐ ์œ„ํ•œ ํŒจํ„ด ํ‘œํ˜„์‹
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])
์˜๋ฌธ์ž ์ค‘ ์ ์–ด๋„ ํ•˜๋‚˜ ์ด์ƒ ์กด์žฌ (. ํ•œ๊ธ€์ž , * 0~, )
(?=.*\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
๋ณต์‚ฌ