reg = /^[가-힣]{2,7}$/i
reg.test(테스트할 대상): 'boolean을 반환'
🔹i: 대,소문자 구별없이 검사
🔹^: 처음부터 조건이 맞는지
🔹$: 마지막까지 조건이 맞는지
🔹[A-Za-z0-9_] === \w: 대문자, 소문자, 숫자, _ 조건이 맞는지
🔹{2,8}: 2자리 ~ 8자리까지 허용
🔹()? -> 있어도되고 없어도 된다
🔹(010|011|02|052): 010 또는 011 또는 ~
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>regExp</title>
<style>
ul, li{margin:0; padding:0; list-style-type:none; }
.container{
width:1000px; margin:0 auto;
}
#formData>li{
float:left; border-bottom:1px solid #ddd; height:40px; line-height:40px;
}
#formData>li:nth-child(2n+1){
width:15%;
}
#formData>li:nth-child(2n){
width:85%;
}
#formData>li:last-of-type{
width:100%;
}
</style>
</head>
<body>
<script>
var data = "html, javascript";
var reg = /java1/i;
console.log( reg.test(data) )
function formCheck(){
reg = /[A-Za-z]{1}[A-Za-z0-9_]{7,14}/i
if(!reg.test(document.getElementById("userId").value)){
alert("아이디를 잘못입력하였습니다! \n아이디 8~ 15글자 허용, 영어 대소문자, 숫자,_, 첫번째문자여야한다")
return false;
}
reg = /^[가-힣]{2,7}$/i
if(!reg.test(document.getElementById("username").value)){
alert("이름은 한글로 2~7자리까지 허용")
return false;
}
var jumin = document.getElementById("jumin1").value + "-";
jumin += document.getElementById("jumin2").value;
reg = /^[0-9]{2}[01][0-9][0-3][0-9][-][0-9]{7}/;
if(!reg.test(jumin)){
alert("주민번호가 잘못되었습니다.")
return false;
}
reg = /^\w{8,15}[@][A-Za-z0-9]{2,8}[.][A-Za-z]{2,3}([.][A-Za-z]{2,3})?/i;
if(!reg.test(document.getElementById("email").value) ){
alert("메일 형식이 이상함!");
return false;
}
var tel = document.getElementById("tel1").value + "-";
tel += document.getElementById("tel2").value + "-";
tel += document.getElementById("tel3");
reg = /^(010|02|031|032|033|041|042|051|052|053|054|061|062)[-][0-9]{3,4}-[0-9]{4}$/
if(!reg.test(tel)){
alert("전화번호 잘못입력하심")
return false;
}
return true;
}
function lenChk(input1, len, input2){
if(document.getElementById(input1).value.length >= len){
document.getElementById(input2).focus();
}
}
</script>
<div class="container">
<h1>정규 표현식</h1>
<form method="post" action="member.jsp" onsubmit=" return formCheck()">
<ul id="formData">
<li>아이디</li>
<li><input type="text" name="userId" id="userId" value="ohsooman2"/></li>
<li>이름</li>
<li><input type="text" name="username" id="username" /></li>
<li>주민번호</li>
<li>
<input type="text" name="jumin1" id="jumin1" onkeyup ="lenChk('jumin1', 6,'jumin2')" maxlength="6" />
<input type="text" name="jumin2" id="jumin2" onkeyup ="lenChk('jumin2', 7, 'tel1')" maxlength="7" />
</li>
<li>이메일</li>
<li>
<input type="text" name="email" id="email" value="ohsoomansour@naver.com" />
</li>
<li>연락처</li>
<li>
<input type="text" name="tel1" id="tel1" onkeyup="lenChk('tel1', 3, 'tel2')" /> -
<input type="text" name="tel2" id="tel2" onkeyup="lenChk('tel2', 4, 'tel3')" /> -
<input type="text" name="tel3" id="tel3" onkeyup="lenChk('tel3', 4, 'email')" />
</li>
<li>
<input type="submit" value= "등록"/>
<button>등록</button>
<input type="image" src="">
</li>
</ul>
</form>
</div>
</body>
</html>