반응형
프로젝트에 나가 주로 쓰이는 자바스크립트 함수를 모아 놓은것이다. 필요하다 싶으면 이 페이지에
업데이트하여 필요할때 복사해 쓸 작정이다.

 

/**

 * 입력값이  null 인지 체크한다

 */

function isNull(input){

       if (input.value == null || input.value == ""){

             return true;

       }else{

             return false;

       }

}

/**

 * 입력값이 스페이스 이외의 의미있는 값이 있는지 체크한다

 * if (isEmpty(form.keyword)){

 *       alert('값을 입력하여주세요');

 * }

 */

function isEmpty(input){

       if (input.value == null || input.value.replace(/ /gi,"") == ""){

             return true;

       }else{

             return false;

       }

}

/**

 * 입력값에 특정 문자가 있는지 체크하는 로직이며

 * 특정문자를 허용하고 싶지 않을때 사용할수도 있다

 * if (containsChars(form.name, "!,*&^%$#@~;")){

 *       alert("특수문자를 사용할수 없습니다");

 * }

 */

function containsChars(input, chars){

       for (var i=0; i < input.value.length; i++){

             if (chars.indexOf(input.value.charAt(i)) != -1){

                    return true;

             }

       }

       return false;

}

/**

 * 입력값이 특정 문자만으로 되어있는지 체크하며

 * 특정문자만을 허용하려 할때 사용한다.

 * if (containsChars(form.name, "ABO")){

 *    alert("혈액형 필드에는 A,B,O 문자만 사용할수 있습니다.");

 * }

 */

function containsCharsOnly(input, chars){

       for (var i=0; i < input.value.length; i++){

             if (chars.indexOf(input.value.charAt(i)) == -1){

                    return false;

             }

       }

       return true;

}

/**

 * 입력값이 알파벳인지 체크

 * 아래 isAlphabet() 부터 isNumComma()까지의 메소드가 자주 쓰이는 경우에는

 * var chars 변수를 global 변수로 선언하고 사용하도록 한다.

 * 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 isNumer(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 형식은 자바스크립트의 'reqular expression' 참고한다

 */

function isValidFormat(input, format){

       if (input.value.search(format) != -1){

             return true; // 올바른 포멧형식

       }     

       return false;

}

/**

 * 입력값이 이메일 형식인지 체크한다

 * if (!isValidEmail(form.email)){

 *       alert("올바른 이메일 주소가 아닙니다");

 * }

 */

function isValidEmail(input){

       var format = /^((\w|[\-\.])+)@((\w|[\-\.])+)\.([A-Za-z]+)$/;

       return isValidFormat(input, format);

}

/**

 * 입력값이 전화번호 형식(숫자-숫자-숫자)인지 체크한다

 */

function isValidPhone(input){

       var format = /^(\d+)-(\d+)-(\d+)$/;

       return isValidFormat(input, format);

}

/**

 * 입력값의 바이트 길이를 리턴한다.

 * if (getByteLength(form.title) > 100){

 *    alert("제목은 한글 50 (영문 100) 이상 입력할수 없습니다");

 * }

 */

function getByteLength(input){

       var byteLength = 0;

       for (var inx = 0; inx < input.value.charAt(inx); 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);

}



Posted by 1010