웹
비정규식으로 유효성 검사 만들기
코드 죄수
2022. 9. 15. 23:10
이번에는 정규식을 이용하지 않고 회원가입 페이지에 유효성 검사를 하는 기능을 만들어 보았다.
function check(){
var my_id = document.getElementById("my_id").value;
var my_pw = document.getElementById("my_password").value;
var ch_pw = document.getElementById("check_password").value;
var my_email = document.getElementById("my_email").value;
var my_name = document.getElementById("my_name").value;
var birth = document.getElementById("birth").value;
var inter = document.getElementsByName("interasting");
var intro = document.getElementById("my_intro").value;
var count=0;
if(my_id.length < 4 || my_id.length > 12){
alert("아이디를 4자에서 12자 사이로 입력 하세요!!");
return false;
}else{
for(var i=0; i<my_id.length;i++){
if(my_id.charCodeAt(i) >= 48 && my_id.charCodeAt(i) <= 57){ //숫자인지
count++;
}else if(my_id.charCodeAt(i) >= 65 && my_id.charCodeAt(i) <= 90){ //대문자인지
count++;
}else if(my_id.charCodeAt(i) >= 97 && my_id.charCodeAt(i) <= 122){ //소문자인지
count++;
}
}
if(my_id.length != count){ //문자 전부다 통과 했는지
alert("아이디는 영문 대소문자와 숫자만 가능합니다!!");
return false;
}
count = 0;
}
if(my_pw.length < 4 || my_pw.length > 12){
alert("비밀번호를 4자에서 12자 사이로 입력 하세요!!");
return false;
}else{
for(var i=0; i<my_pw.length;i++){
if(my_pw.charCodeAt(i) >= 48 && my_pw.charCodeAt(i) <= 57){ //숫자인지
count++;
}else if(my_pw.charCodeAt(i) >= 65 && my_pw.charCodeAt(i) <= 90){ //대문자인지
count++;
}else if(my_pw.charCodeAt(i) >= 97 && my_pw.charCodeAt(i) <= 122){ //소문자인지
count++;
}
}
if(my_pw.length != count){ //문자 전부다 통과 했는지
alert("비밀번호는 영문 대소문자와 숫자만 가능합니다!!");
return false;
}
count = 0;
}
if(my_pw != ch_pw){
alert("비밀번호가 서로 다릅니다!!");
return false;
}
if(my_email.length == 0){
alert("이메일을 입력 하세요!!");
return false;
}else{
if(my_email.includes('@') && my_email.split("@").length-1 == 1){ //@ 을 포함 하는지 확인과 @이가 하나인지
var stremail = my_email.split("@");
for(var i=0; i<stremail[0].length; i++){ //@ 앞 부분 확인
if(stremail[0].charCodeAt(i) >= 48 && stremail[0].charCodeAt(i) <= 57){ //숫자인지
count++;
}else if(stremail[0].charCodeAt(i) >= 65 && stremail[0].charCodeAt(i) <= 90){ //대문자인지
count++;
}else if(stremail[0].charCodeAt(i) >= 97 && stremail[0].charCodeAt(i) <= 122){ //소문자인지
count++;
}
}
if(stremail[0].length != count){
alert("이메일 형식을 지켜주세요!!");
return false;
}else{
count = 0;
if(my_email.includes('.') && my_email.split(".").length-1 <= 2){ //.을 포함 하는지 확인 .이 2개를 넘으면 안됨
var stremail2 = stremail[1].split(".");
for(var i=0; i<stremail2[0].length; i++){
if(stremail2[0].charCodeAt(i) >= 48 && stremail2[0].charCodeAt(i) <= 57){ //숫자인지
count++;
}else if(stremail2[0].charCodeAt(i) >= 97 && stremail2[0].charCodeAt(i) <= 122){ //소문자인지
count++;
}
}
if(stremail2[0].length != count){
alert("이메일 형식을 지켜주세요!!");
return false;
}else{
count = 0;
for(var i=0; i<stremail2.length-1; i++){
for(var j=0; j<stremail2[i+1].length; j++){
if(stremail2[0].charCodeAt(i) >= 97 && stremail2[0].charCodeAt(i) <= 122){ //소문자인지
count++;
}
}
if(stremail2[i+1].length != count){
alert("이메일 형식을 지켜주세요!!");
return false;
}
count=0;
}
}
}else{
alert("이메일 형식을 지켜주세요!!");
return false;
}
}
}else{
alert("이메일 형식을 지켜주세요!!");
return false;
}
}
if(my_name < 2){
alert("이름을 다시 입력 하세요");
return false;
}else{
for(var i=0; i<my_name.length;i++){
if(my_name.charCodeAt(i) >= 65 && my_name.charCodeAt(i) <= 90){ //대문자인지
count++;
}else if(my_name.charCodeAt(i) >= 97 && my_name.charCodeAt(i) <= 122){ //소문자인지
count++;
}
}
if(my_name.length != count){ //영어를 입력하지 않았을때
count = 0;
for(var i=0; i<my_name.length;i++){
if(my_name.charCodeAt(i) >= 44032 && my_name.charCodeAt(i) <= 55296){ //한글인지
count++;
}
}
if(my_name.length != count){
alert("이름을 다시 입력 하세요!!");
return false;
}
count = 0;
}
}
if(birth.length <4){
alert("생일 년도 4자리를 입력해 주세요");
return false;
}else{
count = 0;
for(var i=0; i<birth.length;i++){
if(birth.charCodeAt(i) >= 48 && birth.charCodeAt(i) <= 57){
count++;
}
}
if(birth.length != count){
alert("생일은 숫자만 입력해 주세요!!");
return false;
}else{
if(Number(birth) < 1900){
alert("1900년도 이하 생일은 말이 안됩니다");
return false;
}
}
}
count=0;
for(var i=0; i<inter.length; i++){
if(inter[i].checked){
count++;
}
}
if(count<1){
alert("관심분야를 하나이상 선택해 주세요!!");
return false;
}
if(intro.length<1){
alert("자기소개를 적어주세요!!");
return false;
}
alert("회원 가입을 축하 합니다!!");
}