반응형

javascript를 통해 자주 사용하는 유효성 체크 함수들을 남겨봅니다.

 

이메일 체크 정규식

function ValidateEmail(inputText) {
    var mailformat = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
    if (mailformat.test(inputText)) {
        return true;
    } else {
        alert("입력하신 값은 이메일 형식이 아닙니다.");
        //focus 처리가 필요하면 이곳에! $("#email").focus();
        return false;
    }
}

사용 결과

//true
ValidateEmail("myhappyman@naver.com");  //true
ValidateEmail("myhappyman@test.co.kr");  //true


//false
ValidateEmail("myhappymantest.co.kr");  //false
ValidateEmail("myhappyman@naver.com2");  //false

IP 체크 정규식

function ValidateIPaddress(inputText) {
    var ipformat = /^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/;
    if (ipformat.test(inputText)) {
        return true;
    } else {
        alert("입력하신 값은 IP형식이 아닙니다.");
        //focus 처리가 필요하면 이곳에! $("#ip").focus();
        return false;
    }
}

사용 결과

//true
ValidateIPaddress("0.0.0.0");  //true
ValidateIPaddress("255.255.255.255");  //true

//false
ValidateIPaddress("0");  //false
ValidateIPaddress("-1.0.255.255");  //false
ValidateIPaddress("255.0.11.256");  //false

비밀번호 체크 정규식

비밀번호는 개발하면서 많은 포맷이 사용될텐데 주석을 통해 원하는 방식으로 변경하여 사용하거나 커스텀을 하면 좋을것 같다.

function ValidatePassword(inputText) {
    var pwformat = /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{6,20}$/;
    if (pwformat.test(inputText)) {
        return true;
    } else {
        alert("비밀번호 형식을 지켜주세요.\n비밀번호는 숫자, 소문자, 대문자를 1개이상, 6~20자리 이내로 입력해주세요.");
        return false;
    }
}

사용 결과

//true
ValidatePassword("fdsfdasQ2321!") //true
ValidatePassword("Ffdaf2321!") // true

//false
ValidatePassword("fdaf2321!") //false 대문자가 없음
ValidatePassword("QWERQWER!") //false 소문자가 없음
ValidatePassword("javascript") // false 대문자, 숫자가 없음

다른 정규식 방식

//비밀번호의 다양한 정규식
// * 하나 이상의 숫자와 특수 문자가 포함하는 7~15자 비밀번호
var pwformat = /^(?=.*[0-9])(?=.*[!@#$%^&*])[a-zA-Z0-9!@#$%^&*]{7,15}$/;

// * 하나 이상의 소문자, 대문자, 숫자 및 특수 문자를 포함하는 8~15자 비밀번호
var pwformat = /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[^a-zA-Z0-9])(?!.*\s).{8,15}$/;

체크하는 정규식의 값만 변경 해주면 원하는 비밀번호 패턴을 체크할 수 있습니다.

출처 : https://www.w3resource.com/

반응형