'⑥ PreSTC/javascript'에 해당되는 글 2

  1. 2008/07/23 [javascript] 유효성 검사
  2. 2008/07/22 [javascript] 필드 유효성 검사
⑥ PreSTC/javascript | Posted by 서풍의신 재령 2008/07/23 08:47

[javascript] 유효성 검사

<script language="javascript">

function isName(obj)
{
     if (obj.value.length > 10 || obj.value.length < 2)
     {
        obj.focus();
        return true;
     }
     return false;
}


function isPhone(obj)
{
    var str = obj.value;
 
    if(str.length > 11 || str.length < 9)
    {
        return false;
    }
    else
    { 
        if (isNaN(str.value) == true)
        {
             obj.focus();
             return false;
        }
    }
    return true;
}

function isEmail(obj)
{
    var str = obj.value;
 
    if(str == "")
    {
        return false;
    }
 
    var i = str.indexOf("@");
 
    if(i<0)
    {
        return false;
    }
 
    var j = str.indexOf(".");
 
    if(j<0 || j<=i || j==(i+1))
    {
        return false;
    }
 
    return true;
}
 
function isAccess(obj)
{
    var f = document.pollForm;
    var checked_items = 0;

     for (i=0;i<f.elements.length;i++)
      {
           if ((f.elements[i].name == "root") &&
           (f.elements[i].checked))
                 checked_items++;
       }

     if (checked_items == 0)
     {
        return false;
     }

    return true;
}
</script>
 
<script language="javascript">

function checkForm(form)
{
   
    if(isName(form.username))
    {
        alert("이름은 2~10글자 이내로 작성하여야 합니다.");
        return false;
    }
   
    if(!isPhone(form.phone))
    {
        alert("전화번호는 9~11글자의 숫자로만 작성하세요.");
        return false;
    }
   
    if(!isEmail(form.email))
    {
        alert("E-mail 주소가 적절하지 않습니다.");
        return false;
    }
 
    if(!isAccess(form.root))
    {
        alert("접속 경로를 적어도 하나 선택해주세요.");
        return false;
    }
 
    return true;
}

</script>

크리에이티브 커먼즈 라이선스
Creative Commons License

'⑥ PreSTC > javascript' 카테고리의 다른 글

[javascript] 유효성 검사  (0) 2008/07/23
[javascript] 필드 유효성 검사  (0) 2008/07/22
⑥ PreSTC/javascript | Posted by 서풍의신 재령 2008/07/22 21:47

[javascript] 필드 유효성 검사

/**
* 입력값이 NULL인지 체크
*/

function isNull(input) {
    if (input.value == null input.value == "") {
        return true;
    }
    return false;
}
 
/**
* 입력값에 스페이스 이외의 의미있는 값이 있는지 체크
* ex) if (isEmpty(form.keyword)) {
*         alert("검색조건을 입력하세요.");
*     }
*/

function isEmpty(input) {
    if (input.value == null input.value.replace(/ /gi,"") == "") {
        return true;
    }
    return false;
}
 
/**
* 입력값에 특정 문자(chars)가 있는지 체크
* 특정 문자를 허용하지 않으려 할 때 사용
* ex) if (containsChars(form.name,"!,*&^%$#@~;")) {
*         alert("이름 필드에는 특수 문자를 사용할 수 없습니다.");
*     }
*/

function containsChars(input,chars) {
    for (var inx = 0; inx < input.value.length; inx++) {
       if (chars.indexOf(input.value.charAt(inx)) != -1)
           return true;
    }
    return false;
}
 
/**
* 입력값이 특정 문자(chars)만으로 되어있는지 체크
* 특정 문자만 허용하려 할 때 사용
* ex) if (!containsCharsOnly(form.blood,"ABO")) {
*         alert("혈액형 필드에는 A,B,O 문자만 사용할 수 있습니다.");
*     }
*/

function containsCharsOnly(input,chars) {
    for (var inx = 0; inx < input.value.length; inx++) {
       if (chars.indexOf(input.value.charAt(inx)) == -1)
           return false;
    }
    return true;
}
 
/**
* 입력값이 알파벳인지 체크
* 아래 isAlphabet() 부터 isNumComma()까지의 메소드가
* 자주 쓰이는 경우에는 var chars 변수를
* global 변수로 선언하고 사용하도록 한다.
* ex) var uppercase = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
*     var lowercase = "abcdefghijklmnopqrstuvwxyz";
*     var number    = "0123456789";
*     function isAlphaNum(input) {
*         var chars = uppercase + lowercase + number;
*         return containsCharsOnly(input,chars);
*     }
*/

function isAlphabet(input) {
    var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
    return containsCharsOnly(input,chars);
}
 
/**
* 입력값이 알파벳 대문자인지 체크
*/

function isUpperCase(input) {
    var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    return containsCharsOnly(input,chars);
}
 
/**
* 입력값이 알파벳 소문자인지 체크
*/

function isLowerCase(input) {
    var chars = "abcdefghijklmnopqrstuvwxyz";
    return containsCharsOnly(input,chars);
}
 
/**
* 입력값에 숫자만 있는지 체크
*/

function isNumber(input) {
    var chars = "0123456789";
    return containsCharsOnly(input,chars);
}
 
/**
* 입력값이 알파벳,숫자로 되어있는지 체크
*/

function isAlphaNum(input) {
    var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
    return containsCharsOnly(input,chars);
}
 
/**
* 입력값이 숫자,대시(-)로 되어있는지 체크
*/

function isNumDash(input) {
    var chars = "-0123456789";
    return containsCharsOnly(input,chars);
}
 
/**
* 입력값이 숫자,콤마(,)로 되어있는지 체크
*/

function isNumComma(input) {
    var chars = ",0123456789";
    return containsCharsOnly(input,chars);
}
 
/**
* 입력값이 사용자가 정의한 포맷 형식인지 체크
* 자세한 format 형식은 자바스크립트의 `regular expression`을 참조
*/

function isValidFormat(input,format) {
    if (input.value.search(format) != -1) {
        return true; //올바른 포맷 형식
    }
    return false;
}
 
/**
* 입력값이 이메일 형식인지 체크
* ex) if (!isValidEmail(form.email)) {
*         alert("올바른 이메일 주소가 아닙니다.");
*     }
*/

function isValidEmail(input) {
//    var format = /^(\S+)@(\S+)\.([A-Za-z]+)$/;
    var format = /^((\w[\-\.])+)@((\w[\-\.])+)\.([A-Za-z]+)$/;
    return isValidFormat(input,format);
}
 
/**
* 입력값이 전화번호 형식(숫자-숫자-숫자)인지 체크
*/

function isValidPhone(input) {
    var format = /^(\d+)-(\d+)-(\d+)$/;
    return isValidFormat(input,format);
}
 
/**
* 입력값의 바이트 길이를 리턴
* ex) if (getByteLength(form.title) > 100) {
*         alert("제목은 한글 50자(영문 100자) 이상 입력할 수 없습니다.");
*     }
* Author : Wonyoung Lee
*/

function getByteLength(input) {
    var byteLength = 0;
    for (var inx = 0; inx < input.value.length; inx++) {
        var oneChar = escape(input.value.charAt(inx));
        if ( oneChar.length == 1 ) {
            byteLength ++;
        } else if (oneChar.indexOf("%u") != -1) {
            byteLength += 2;
        } else if (oneChar.indexOf("%") != -1) {
            byteLength += oneChar.length/3;
        }
    }
    return byteLength;
}
 
/**
* 입력값에서 콤마를 없앤다.
*/

function removeComma(input) {
    return input.value.replace(/,/gi,"");
}
 
/**
* 선택된 라디오버튼이 있는지 체크
*/

function hasCheckedRadio(input) {
    if (input.length > 1) {
        for (var inx = 0; inx < input.length; inx++) {
            if (input[inx].checked) return true;
        }
    } else {
        if (input.checked) return true;
    }
    return false;
}
 
/**
* 선택된 체크박스가 있는지 체크
*/

function hasCheckedBox(input) {
    return hasCheckedRadio(input);
}
크리에이티브 커먼즈 라이선스
Creative Commons License

'⑥ PreSTC > javascript' 카테고리의 다른 글

[javascript] 유효성 검사  (0) 2008/07/23
[javascript] 필드 유효성 검사  (0) 2008/07/22