updated_at: 2024-12-14 17:04

자바스크립트 사용자 함수

# isValidDate( v_year, v_month, v_day) | 유효한 날짜인지 체트   
function isValidDate( v_year, v_month, v_day)
{
  var today = new Date();
  var d_year = v_year*1;
  var d_month = v_month*1;
  var d_day = v_day*1;


  /* 과거 날짜여야 함. */ 
  if( v_year > today.getYear() )
    return 'N';
  else if( v_year == today.getYear() && v_month*1 > (today.getMonth()*1+1))
    return 'N';
  else if( v_year == today.getYear() && v_month*1 == (today.getMonth()*1+1) && v_day > today.getDate())
    return 'N';

  /* 달별 일 check */
  if( d_month == 1 || d_month == 3 || d_month == 5 || d_month == 7 || d_month == 8 || d_month == 10 || d_month == 12){
    if( d_day > 31 || d_day < 1) return 'N';
  } else if(d_month == 4 || d_month == 6 || d_month == 9 || d_month == 11 ){
    if( d_day > 30 || d_day < 1 ) return 'N';	
  } else if( d_month == 2 ) {
    if( ((d_year%4) == 0 && (d_year%100)!= 0) || ((d_year%100) == 0 && (d_year%400) == 0) ){
      if( d_day > 29 || d_day < 1 ) return 'N';
    } else {
      if( d_day > 28 || d_day < 1 ) return 'N';
    }
  }

  return 'Y';
}
# isMoreThan14age(socno1, checkYear)  | 14세 이상인지 확인
function isMoreThan14age(socno1, checkYear)
{
  var u_year;
  var u_month;
  var u_day;
  var v_age;
  var v_today = new Date();

  /* alert( socno1 + ", " + checkYear); */
  if( checkYear > 0 &&  checkYear < 3)
  u_year = "19" + socno1.substring(0, 2)
  else if(checkYear > 2 &&  checkYear < 5)
  u_year = "20" + socno1.substring(0, 2)
  else return 'wrong';	    // 2002.10.8 주민등록뒷자리 첫번째 번호 유효성 체크 (1,2,3,4) are only valid  -- by muse     

  u_month = socno1.substring(2, 4);
  u_day = socno1.substring(4);
  /* alert( socno1.substring(0, 2) + "-" + u_year + ", " + u_month + ", " + u_day );        */

  var rVal = isValidDate(u_year, u_month, u_day );
  if( rVal == 'N' ) 
    return 'I';
  else if( rVal == 'Y' ){
    v_age = v_today.getYear()*1 - u_year*1;
    if( u_month*1 > (v_today.getMonth*1+1) ){
      v_age -= 1; 
    } else if( u_month*1 == (v_today.getMonth()*1+1) && u_day*1 > v_today.getDate()*1 ){
      v_age -= 1;
    }
  }

  if( v_age < 14 ) return 'N';
  else if( v_age >= 14 && v_age < 18 ) return 'M';
  else return 'Y';
}
# checkDigit_socno(socno)             | 주민번호 digit 체크 
function checkDigit_socno(socno)
  {
  var socnoStr = socno.toString();
  a = socnoStr.substring(0, 1);
  b = socnoStr.substring(1, 2);
  c = socnoStr.substring(2, 3);
  d = socnoStr.substring(3, 4);
  e = socnoStr.substring(4, 5);
  f = socnoStr.substring(5, 6);
  g = socnoStr.substring(6, 7);
  h = socnoStr.substring(7, 8);
  i = socnoStr.substring(8, 9);
  j = socnoStr.substring(9, 10);
  k = socnoStr.substring(10, 11);
  l = socnoStr.substring(11, 12);
  m = socnoStr.substring(12, 13);

  temp=a*2+b*3+c*4+d*5+e*6+f*7+g*8+h*9+i*2+j*3+k*4+l*5;
  temp=temp%11;
  temp=11-temp;
  temp=temp%10;

  if(temp == m)
    return 'Y';
  else
    return 'N'; 
}
# 숫자인지 확인
function isNumeric(s)
{
  var isNum = /\d/;
  if( !isNum.test(s) ) return 0; 
  return 1;
}
  # 숫자인지 확인
function isNumer(s)
  {
  var isNum = /^[\d]+$/;
  if( s.search(isNum) ) return 0; 
  return 1;
}
# 한글인지 확인
function isHangul(s) 
{
  var len;

  len = s.length;

  for (var i = 0; i < len; i++)  {
    if (s.charCodeAt(i) != 32 && (s.charCodeAt(i) < 44032 || s.charCodeAt(i) > 55203))
      return 0;
  }

  return 1;
}
# 공백이 있는지 확인
function checkSpace( str )
  {
  if(str.search(/\s/) != -1){
    return 1;
  } else {
    return "";
  }
}
# 유효한 ID 체크
function validID( str )
{
  /* check whether input value is included space or not  */
  if( str == ""){
    alert("아이디를 입력하세요.");
    return 0;
  }

  var retVal = checkSpace( str ); 

  if( retVal != "" ) {
    alert("아이디는 빈 공간 없이 연속된 영문 소문자와 숫자만 사용할 수 있습니다.");
    return 0; 
  } 
  if( str.charAt(0) == '_') {
    alert("아이디의 첫문자는 '_'로 시작할수 없습니다.");
    return 0;
  }

  /* checkFormat  */
  var isID = /^[a-z0-9_]{3,12}$/;
  if( !isID.test(str) ) {
    alert("아이디는 3~12자의 영문 소문자와 숫자,특수기호(_)만 사용할 수 있습니다."); 
    return 0; 
  }
  return 1;
}
# 유효한 비밀번호 체크
function validPWD( str )
{
  var cnt=0;
  if( str == ""){
    alert("비밀번호를 입력하세요.");
    return 0;
  }     

  /* check whether input value is included space or not  */
  var retVal = checkSpace( str );
  if( retVal != "") {
    alert("비밀번호는 빈공간 없이 연속된 영문 소문자와 숫자만 사용할 수 있습니다.");
    return 0;
  }
  for( var i=0; i < str.length; ++i)
  {
    if( str.charAt(0) == str.substring( i, i+1 ) ) ++cnt;
  }  
  if( cnt == str.length ) {
    alert("보안상의 이유로 한 문자로 연속된 비밀번호는 허용하지 않습니다.");
    return 0; 
  }

  /* limitLength */

  //var isPW = /^[a-z0-9_~`!@\\#\$%\^&\*()-\+=\|\[\]\{\};:'"<,>.?/]{6,12}$/;
  var isPW = /^[a-z0-9]{6,12}$/;
  if( !isPW.test(str) ) {
    alert("비밀번호는 6~12자의 영문 소문자와 숫자만 사용할 수 있습니다."); 
    return 0; 
  }
  return 1;
}
# 이메일 유효성 체크
function validEMAIL( str )
{
  /* check whether input value is included space or not  */
  if(str == ""){
    alert("이메일 주소를 입력하세요.");
    return 0;
  }
  var retVal = checkSpace( str );
  if( retVal != "") {
    alert("이메일 주소를 빈공간 없이 넣으세요.");
    return 0;
  }

  /* checkFormat */
  var isEmail = /[-!#$%&'*+\/^_~{}|0-9a-zA-Z]+(\.[-!#$%&'*+\/^_~{}|0-9a-zA-Z]+)*@[-!#$%&'*+\/^_~{}|0-9a-zA-Z]+(\.[-!#$%&'*+\/^_~{}|0-9a-zA-Z]+)*/;
  if( !isEmail.test(str) ) {
    alert("이메일 형식이 잘못 되었습니다.");
    return 0;
  }
  if( str.length > 60 ) {
    alert("이메일 주소는 60자까지 유효합니다.");
    return 0;
  }
  return 1;
}
# 한글 이름 체크
function validNAME(str)
{

  if( str == '' ){
    alert("이름을 입력하세요");
    return 0;	
  }     

  var retVal = checkSpace( str );     
  if( retVal != ""){
    alert("이름은 띄어쓰기 없이 입력하세요.");
    return 0;
  }
  if( !isHangul(str) ) {
    alert("이름을 한글로 입력하세요.");
    return 0;  
  }
  if( str.length > 7 ) {
    alert("이름은 7자까지만 사용할 수 있습니다.");
    return 0;
  }
  return 1; 
}
# 영문 이름 체크
function validENAME( str )
{
  /* check format */  
  var isENAME = /^\w/gi;

  if( !isENAME.test( str ) )
  {
    alert("영문이름을 입력하세요"); 
    document.forms[0].ename1.select();
    return 0;
  }
  return 1; 

}
function checkSocno1(){     // 주민번호 valid check , 자동 다음 폼 이동
  str = upgradeFrm;
  num = str.socno1.value;
  siz = num.length;
  numFlag = Number(num);
  if(!numFlag && siz > 1 && num != '00' &&  num != '000'){
    alert('숫자를 넣어주세요');
    str.socno1.select();
    str.socno1.focus();
    return;
  }
  if(siz == 6){
    str.socno2.focus();
    return;
  }

}
function checkSocno2(){     // 주민번호 valid check , 자동 다음 폼 이동
  str = upgradeFrm;
  num = str.socno2.value;
  siz = num.length;
  numFlag = Number(num);
  if(!numFlag && siz > 1 && num != '00' &&  num != '000'){
    alert('숫자를 넣어주세요');
    str.socno2.select();
    str.socno2.focus();
    return;
  }
  if(siz == 1){
    if(num < 1 || num > 4){
      alert('잘못된 주민번호 형식입니다');
      str.socno2.select();
      str.socno2.focus();
      return;
    }
  }
}

Table of contents 목차

평점을 남겨주세요
평점 : 5.0
총 투표수 : 1

질문 및 답글