순수 자바스크립트이며, 지속적으로 추가/확장됩니다.

 

 

기본 기능 설명 ( ES5 )

 

- 테스트 케이스로 설명(아래)

        const testCase = {
            'mysite@ourearth.com': true,
            'my.ownsite@ourearth.org': true,
            'mysite@you.me.net': true,
            'mysite.ourearth.com': false,  // [@ is not present]
            'mysite@.com.my': false,  // [ tld (Top Level domain) can not start with dot "." ]
            '@you.me.net': false,  // [ No character before @ ]
            'mysite123@gmail.b': false,  // [ ".b" is not a valid tld ]
            'mysite@.org.org': false,  // [ tld can not start with dot "." ]
            '.mysite@mysite.org': false,  // [ an email should not be start with "." ]
            'mysite()*@gmail.com': false,  // [ here the regular expression only allows character, digit, underscore, and dash ]
            'mysite..1234@yahoo.com': false,  // [double dots are not allowed]
        }

 

 

실제 코드

function emailValidator(args) {
    var msg = '유효하지 않는 이메일입니다.';
    if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(args)) {
        return true;
    }
    // alert(msg);
    return false;
}

이상 없을 시(성공) : true

이상 있을 시(실패) : false

 


*테스트 *

 

위 콘솔 로그의 각 라인 의미 : 실제 입력된 문자열 : 예상하는 리턴값 => 실제 리턴값

 

 

'Javascript > 코드 모음' 카테고리의 다른 글

[JAVASCRIPT] 전화번호 유효성 검사  (1) 2019.12.09
[JAVASCRIPT] 비밀번호 유효성 검사  (0) 2019.12.09

 

기본 기능 설명 ( ES5 )

 

- "-"을 기준으로, 앞자리 2~3자리, 가운데 3~4자리, 마지막 3~4자리의 숫자로만 이루어진 문자열 체크

- "-"(하이픈)을 제외하여 검사하고 싶을땐 아래 코드의 if문의 정규식에서 하이픈을 모두 삭제하여 실행

 

 

예제 코드

function telValidator(args) {
    const msg = '유효하지 않는 전화번호입니다.';
    // IE 브라우저에서는 당연히 var msg로 변경
    
    if (/^[0-9]{2,3}-[0-9]{3,4}-[0-9]{4}/.test(args)) {
        return true;
    }
    // alert(msg);
    return false;
}

 

사용법

telValidator(검사할 문자열);

이상 없을 시(성공) : true

이상 있을 시(실패) : false

 


 

*테스트 *

위 콘솔 로그의 각 라인 의미 : 실제 입력된 문자열 : 예상하는 리턴값 => 실제 리턴값

 

 

'Javascript > 코드 모음' 카테고리의 다른 글

[JAVASCRIPT] 이메일 유효성 검사  (1) 2019.12.09
[JAVASCRIPT] 비밀번호 유효성 검사  (0) 2019.12.09

 

 

 

 

 

 

순수 자바스크립트이며, 지속적으로 추가/확장됩니다.

 

 

 

 

기본 기능 설명 ( ES5 )

 

- 최소/최대 문자 입력 범위 ( 9~16 자리의 입력 체크 )

- 같은 숫자 연속 금지 ( 3자리를 기준으로, ex: pwd111(X), pwd11d(O) )

- 순차적 숫자 금지 ( ex : 123456 )

- 알파벳 순 문자 금지 ( ex : abcde )

 

 

실제 코드


function passwordValidator(args, opt) {
    // v1.0
    var obj = opt || {   // options의 기본 값들입니다. 
        min: 9, max: 16, conseq: 5, special: true,
        msg: '숫자와 영문자,특수문자 조합으로 9~16자리를 사용해야 합니다.',
    }

    var specialChar = opt.special ? '(?=.*[!@#$%^*+=-])' : '';
    var rules = new RegExp("^(?=.*[a-zA-Z])"+specialChar+
    "(?=.*[0-9]).{" + obj.min + "," + obj.max + "}$");
    if (!rules.test(args)) {
        console.log(opt.msg);
        return false;
    }
    if(!checkSequential(args, obj)) return false; // 필요없을 경우 주석하세요
    return true;
}

function checkSequential(s, obj) {   // 순차적 숫자, 알파벳, 동일한 숫자 체크 함수
    // Check for sequential numerical characters
    for(var i in s) 
        if (+s[+i+1] == +s[i]+1 && 
            +s[+i+2] == +s[i]+2) return false;
    // Check for sequential alphabetical characters
    for(var i in s) 
        if (String.fromCharCode(s.charCodeAt(i)+1) == s[+i+1] && 
            String.fromCharCode(s.charCodeAt(i)+2) == s[+i+2]) return false;
    // check for consecutive numbers
    var count = 0;
    for(var i = 0; i < s.length; ++i)
    {
        if(s[i] === s[i+1]) count++;
        else count = 0;
        if(count >= obj.conseq - 1) return false;
    }
    return true;
}

 

 

//사용법 

var options = {
    min:9, max:16, // 최소/최대 입력 범위 ( 9 ~ 16자리 )
    conseq:5, // 최대 연속 숫자 입력 ( ex: pwd22222 )
    special: true, // 특수문자 포함여부 (true일경우 반드시 포함하여야 함)
    msg: 'test message' // 실패할 경우의 출력 메시지 (ex : 비밀번호가 유효하지 않습니다..등 )
}

passwordValidator([String:검사할 문자열],[Object:옵션]);

 

 


*테스트 *

 

위 콘솔 로그의 각 라인 의미 : 실제 입력된 문자열 : 예상하는 리턴값 => 실제 리턴값

 

'Javascript > 코드 모음' 카테고리의 다른 글

[JAVASCRIPT] 이메일 유효성 검사  (1) 2019.12.09
[JAVASCRIPT] 전화번호 유효성 검사  (1) 2019.12.09

+ Recent posts