영문, 숫자, 한글, 이메일 체크 하는 함수

by 조쉬 posted Mar 01, 2014
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄
// str은 0~9까지 숫자만 가능하다.
function checkNumber(str) {
    var flag=true;
    if (str.length > 0) {
        for (i = 0; i < str.length; i++) { 
            if (str.charAt(i) < '0' || str.charAt(i) > '9') {
                flag=false;
            }
        }
    }
    return flag;
}

// str은 모두 소문자여야하고 첫글자는 영문이어야 한다. 영문과 0~9, -, _, ^는 허용한다.
function CheckChar(str) {
    strarr = new Array(str.length);
    var flag = true;
    for (i=0; i<str.length; i++) {
        strarr[i] = str.charAt(i)
        if (i==0) {
            if (!((strarr[i]>='a')&&(strarr[i]<='z'))) {
                flag = false;
            }
        } else {
            if (!((strarr[i]>='a')&&(strarr[i]<='z')||(strarr[i]>='0')&&(strarr[i]<='9')||(strarr[i]=='-')||(strarr[i]=='_')||(strarr[i]=='^'))) {
                flag = false;
            }
        }
    }
    if (flag) {
        return true;
    } else {
        return false;
    }
}

// str은 모두 영문소문자여야 한다.
function CheckChar2(str) {
    strarr = new Array(str.length);
    var flag = true;
    for (i=0; i<str.length; i++) {
        strarr[i] = str.charAt(i)
        if (!((strarr[i]>='a')&&(strarr[i]<='z'))) {
            flag = false;
        }
    }
    if (flag) {
        return true;
    } else {
        return false;
    }
}

// 이메일 체크
function CheckMail(strMail) {
   /** 체크사항
     - @가 2개이상일 경우
     - .이 붙어서 나오는 경우
     -  @.나  .@이 존재하는 경우
     - 맨처음이.인 경우
     - @이전에 하나이상의 문자가 있어야 함
     - @가 하나있어야 함
     - Domain명에 .이 하나 이상 있어야 함
     - Domain명의 마지막 문자는 영문자 2~4개이어야 함 **/

    var check1 = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/; 

    var check2 = /^[a-zA-Z0-9\-\.\_]+\@[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,4})$/;
    
    if ( !check1.test(strMail) && check2.test(strMail) ) {
        return true;
    } else {
        return false;
    }
}

// str은 한글이어야만 한다.
function CheckHangul(str) {
    strarr = new Array(str.length);
    schar = new Array('/','.','>','<',',','?','}','{',' ','\\','|','(',')','+','=');
    flag = true;
    for (i=0; i<str.length; i++) {
        for (j=0; j<schar.length; j++) {
            if (schar[j] ==str.charAt(i)) {
                flag = false;
            }
        }
        strarr[i] = str.charAt(i)
        if ((strarr[i] >=0) && (strarr[i] <=9)) {
            flag = false;
        } else if ((strarr[i] >='a') && (strarr[i] <='z')) {
            flag = false;
        } else if ((strarr[i] >='A') && (strarr[i] <='Z')) {
            flag = false;
        } else if ((escape(strarr[i]) > '%60') && (escape(strarr[i]) <'%80') ) {
            flag = false;
        }
    }
    if (flag) {
        return true;
    } else {
        return false;
    }
    
}