/************************************************************************************************************
* System        : Sawh
* Program ID    : CommonCheckForm.js
* Program Name  : °øÅë Validation Check Java Script
* Author        : sawh
* Created Date  : 2005-09-22
* -----------------------------------------------------------------------------------------------------------
* Description
* - ÀÚµ¿ Æû °Ë»ç
* -----------------------------------------------------------------------------------------------------------
* Update History
* - 
************************************************************************************************************/
/************************************************************************************************************
<SCRIPT LANGUAGE="JavaScript" SRC="/web/thcc/frame/js/CommonCheckForm.js"></SCRIPT>
...
...
if (checkFormValidate(Æû))
{
    Æû.submit();
}

1. ¾²ÀÌ´Â ¼Ó¼ºµé
   (1) ¼Ó¼ºÁ¤ÀÇ
       KorName  : Ç×¸ñÀÇ ÇÑ±ÛÀÌ¸§(¿¡·¯¸Þ½ÃÁö¸¦ º¸¿©ÁÙ¶§ µî)
       Option   : Æ¯¼öÇÑ °Ë»ç¸¦ ¼öÇàÇÒ ¿É¼Ç
       Required : ÇÊ¼öÇ×¸ñÀÎÁö ¿©ºÎ¸¦ ³ªÅ¸³»´Â ¼Ó¼º
       MaxByte  : maxlength¿Í ´Þ¸® ÇÑ±Û 2±ÛÀÚ´Â 4¹ÙÀÌÆ®·Î ÀÎ½Ä
       MinByte  : minlength¿Í ´Þ¸® ÇÑ±Û 2±ÛÀÚ´Â 4¹ÙÀÌÆ®·Î ÀÎ½Ä
       Glue     : ÀÔ·Â°ª¿¡ Æ÷ÇÔÇÏ¿© »ç¿ëÇÔ

   (2) ¿¹Á¦
       <INPUT TYPE="text" NAME="UserId" KorName="¾ÆÀÌµð" Required>
       - UserId ¶ó´Â Ç×¸ñÀ» "¾ÆÀÌµð" ¶ó°í ºÎ¸£¸ç ÇÊ¼ö Ç×¸ñÀÌ¹Ç·Î ÀÔ·ÂÀÌ ¾ÈµÇ¸é ¿¡·¯ ¹ß»ý.

       <INPUT TYPE="text" NAME="name" KorName="ÀÌ¸§" Option="IncKorLang" Required>
       - ÀÌ¸§Àº ¿ª½Ã ÇÊ¼öÇ×¸ñÀÌ¸ç "korean" optionÀÌ Ãß°¡µÇ¾î ÀÌ¸§¿¡ ÇÑ±ÛÀÌ ÇÑÀÚÀÌ»ó Æ÷ÇÔµÇ¾îÀÖÁö ¾ÊÀ¸¸é ¿¡·¯ ¹ß»ý.

       <INPUT TYPE="text" NAME="phone" KorName="ÀüÈ­¹øÈ£" Option="TelNumber">
       - ÀüÈ­¹øÈ£ Ç×¸ñÀº ÇÊ¼ö Ç×¸ñÀº ¾Æ´ÏÁö¸¸ ÀÔ·ÂµÇ¾úÀ» °æ¿ì Á¦´ë·Î ÀÔ·ÂµÇ¾ú´ÂÁö °Ë»çÇÏ°Ô µÇ¸ç, ÇÚµåÆùÀÏ°æ¿ì´Â ÀÚµ¿À¸·Î ÇÏÀÌÇÂÀ» ºÙ¿©ÁÜ.

2. Æ¯¼ö ÆÐÅÏ °Ë»ç optionÀÇ °ª
   (1) EMail, TelNumber, CellNumber, UserId, IncKorLang, Number, EngOnly, ResNo, BizNo, Domain, Password, ImgFile(jpg,gifÈ®ÀåÀÚ¸¸ Çã¿ë)

3. ¿¡·¯¸Þ½ÃÁö Æ÷¸ä Á¤ÀÇ
   (1) ¿¡·¯¸Þ½ÃÁö ÅÛÇÃ¸´ »ç¿ë¹ý
       - NO_BLANK = "{name+Àº´Â} ÇÊ¼ö Ç×¸ñÀÔ´Ï´Ù";
       - À§ º¯¼ö¿¡¼­ Áß°ýÈ£·Î ¹­ÀÎ ºÎºÐÀº °Ë»çµÇ´Â ¿¤¸®¸ÕÆ®ÀÇ KorName ¶Ç´Â name À¸·Î ÀÚµ¿À¸·Î ´ëÄ¡µÊ.
       - ³»¿ëÀÇ ¸¶Áö¸· ±ÛÀÚ Á¾¼º À¯¹«¿¡ µû¶ó 'Àº' ¶Ç´Â '´Â' Á¶»ç°¡ ÀÚµ¿À¸·Î ºÙ°ÔµÊ.
       - userid Ç×¸ñ¿¡ »ç¿ëµÇ¾ú´Ù¸é "À¯Àú ¾ÆÀÌµð´Â ÇÊ¼ö Ç×¸ñÀÔ´Ï´Ù" ¶ó´Â ¿¡·¯¸¦ ¹ß»ý½ÃÅ´.
       - À¯»ç³»¿ë
         NO_BLANK = "{name+ÀÌ°¡} ºñ¾îÀÖ¾î¼­ Àü¼ÛÇÏÁö ¸øÇß½À´Ï´Ù";
         NO_BLANK = "{name+À»¸¦} ÀÔ·ÂÇØÁÖ¼¼¿ä";
       - ¾Æ·¡¿Í °°ÀÌ »ç¿ëÇÒ ¼öµµ ÀÖÀ½.
         NO_BLANK = "{name}Ç×¸ñÀº ÇÊ¼ö Ç×¸ñÀÔ´Ï´Ù.";
   (2) ¿©·¯ ÇÊµå·Î ³ª´©¾îÁø Ç×¸ñ¿¡ ´ëÇÑ °Ë»ç ¹æ¹ý
       - ex) 3°³ ÇÊµå·Î ³ª´©¾îÁø ÀüÈ­¹øÈ£ ÀÔ·Â¶õ ¸¸µé±â
         <INPUT TYPE="text" NAME="phone1" SIZE="3" KorName="ÀüÈ­¹øÈ£" Option="phone" Required Span="3"> -
         <INPUT TYPE="text" NAME="phone2" SIZE="4"> -
         <INPUT TYPE="text" NAME="phone3" SIZE="4">
         Span °ªÀÌ ÀÖÀ¸¸é ÇØ´ç ¿¤¸®¸ÕÆ®·ÎºÎÅÍ Span°ª¸¸Å­ÀÇ ¿¤¸®¸ÕÆ®ÀÇ °ªÀ» ÇÕÄ£°É ±âÁØÀ¸·Î phone Çü½Ä °Ë»ç¸¦ ¼öÇà.
         ÀÌ¶§ Span µÇ´Â ¿¤¸®¸ÕÆ®¿¡ ´ëÇØ¼­´Â OptionÀ» µû·Î ÁÖÁö ¾Ê¾Æµµ ¹«¹æÇÔ.

       - ex2) 2°³ Ç×¸ñÀ¸·Î ³ª´©¾îÁø ÀÌ¸ÞÀÏ ÀÔ·Â¶õ ¸¸µé±â
         <INPUT TYPE="text" NAME="email1" KorName="ÀÌ¸ÞÀÏ" Option="email" Required Span="2" Glue="@">@
         <INPUT TYPE="text" NAME="email2">
         ¿©·¯°³ Ç×¸ñÀ¸·Î ³ª´²Á® ÀÖÁö¸¸ ±¸ºÐÀÚ´Â ÀÔ·Â¿¡ µé¾î°¡Áö ¾ÊÀ»°æ¿ì Glue ¼Ó¼º¿¡ Àû¾îÁÖ¸é ÇØ´ç ¹®ÀÚ·Î ¿¬°áµÊ.
         -> email1@email2 ¿¡´ëÇÑ ÀÌ¸ÞÀÏ ÆÐÅÏ °Ë»ç °á°ú¸¦ Ãâ·Â.
    (3) ÆÐ½º¿öµå È®ÀÎµî µÎ°³ÀÇ Ç×¸ñ°ªÀÌ °°¾Æ¾ß ÇÏ´Â »óÈ²¿¡ ´ëÇÑ Ã¼Å© ¹æ¹ý
        - ex) ÆÐ½º¿öµå confirm
        <INPUT TYPE="password" NAME="passwd" KorName="ÆÐ½º¿öµå" Required Match="passwd2">
        <INPUT TYPE="password" NAME="passwd2" Required> 
        ÀÌ¶§´Â passwd Ç×¸ñ°ú passwd2 Ç×¸ñÀÌ °°Áö ¾ÊÀ»°æ¿ì °æ°íÃ¢À» Ãâ·Â.
************************************************************************************************************/
// ¿¡·¯¸Þ½ÃÁö Æ÷¸ä Á¤ÀÇ
var NO_BLANK = "{name+Àº´Â} ÇÊ¼öÀÔ·Â Ç×¸ñÀÔ´Ï´Ù";
var NOT_VALID = "{name+ÀÌ°¡} ¿Ã¹Ù¸£Áö ¾Ê½À´Ï´Ù";
var TOO_LONG = "{name}ÀÇ ±æÀÌ°¡ ÃÊ°úµÇ¾ú½À´Ï´Ù (ÃÖ´ë {MaxByte}¹ÙÀÌÆ®)";

// ½ºÆ®¸µ °´Ã¼¿¡ ¸Þ¼Òµå Ãß°¡
//°ø¹é Á¦°Å
String.prototype.trim =
function(sArg)
{
    sArg = this != window ? this : sArg;
    return sArg.replace(/\s/g, "");
}
//¿ÞÂÊ °ø¹é Á¦°Å
String.prototype.ltrim =
function(sArg)
{
    sArg = this != window ? this : sArg;
    return sArg.replace(/^\s+/, "");
}
//¿À¸¥ÂÊ °ø¹é Á¦°Å
String.prototype.rtrim =
function(sArg)
{
    sArg = this != window ? this : sArg;
    return sArg.replace(/\s+$/, "");
}
//ÇÑ±Û Á¶»ç¸¦ ÆÇº°
String.prototype.hasFinalConsonant =
function(sArg)
{
    sArg = this != window ? this : sArg;
    var strTemp = sArg.substr(sArg.length-1);
    return ((strTemp.charCodeAt(0)-16)%28!=0);
}
//¹®ÀÚÀÇ byte¸¦ ¸®ÅÏ
String.prototype.bytes =
function(sArg)
{
    sArg = this != window ? this : sArg;
    var len = 0;
    for (j=0; j<sArg.length; j++)
    {
        var chr = sArg.charAt(j);
        len += (chr.charCodeAt() > 128) ? 2 : 1;
    }
    return len;
}
//¿øÇÏ´Â ¹®ÀÚ¸¦ ±âÁØÀ¸·Î ³ª´©¾î ÁØ´Ù
//lenÀ¸·Î µé¾î¿Â ±æÀÌ º¸´Ù Àû´Ù¸é °ø¹éÀ» Ãß°¡ÇÏ¿© ±æÀÌ ¸¸Å­ÀÇ ¹®ÀÚ¿­ ¹è¿­À» ¸®ÅÏ
String.prototype.capsplit =
function(target, len)
{
    src = this != window ? this : src;

    var ret = src.split(target);

    if (len == undefined || len == null)
    {
        return ret;
    }

    for (var n = ret.length-1; n < len ; n++)
    {
        ret[n] = "";
    }
    return ret;
}

function checkFormValidate(form)
{
    for (i=0; i<form.elements.length; i++)
    {
        var el = form.elements[i];
        if (el.tagName == "FIELDSET")
        {
            continue;
        }

        if (el.type != "file")
        {
            el.value = el.value.rtrim();
        }

        var minbyte = el.getAttribute("MINBYTE");
        var maxbyte = el.getAttribute("MAXBYTE");
        var option = el.getAttribute("OPTION");
        var match = el.getAttribute("MATCH");
        var glue = el.getAttribute("GLUE");
//alert(el.name);
//alert(el.name+':'+minbyte);
//alert(el.name+':'+maxbyte);
//alert(el.name+':'+option);
//alert(el.name+':'+match);
//alert(el.name+':'+glue);
        if (el.getAttribute("REQUIRED") != null)
        {
            if (el.tagName == "SELECT" && el.selectedIndex == 0)
            {
                return doError(el,"{name+À»¸¦} ¼±ÅÃÇÏÁö ¾Ê¾Ò½À´Ï´Ù");
            }

            if (el.value == null || el.value == "")
            {
                return doError(el,NO_BLANK);
            }
        }

        if (minbyte != null && el.value != "")
        {
            var errmsg = "";

            if (el.value.bytes() < parseInt(minbyte))
            {
                if (option != null && option == "Number")
                {
                    errmsg = "{name+Àº´Â} ÃÖ¼Ò "+ minbyte +"ÀÚ ÀÌ»ó ÀÔ·ÂÇØ¾ß ÇÕ´Ï´Ù.";
                }
                else if (option != null && option == "IncKorLang")
                {
                    errmsg = "{name+Àº´Â} ÃÖ¼Ò ÇÑ±Û"+ Math.round(minbyte/2) +"ÀÚ ÀÌ»ó ÀÔ·ÂÇØ¾ß ÇÕ´Ï´Ù.";
                }
                else if (option != null && option == "EngOnly")
                {
                    errmsg = "{name+Àº´Â} ÃÖ¼Ò ¿µ¹®"+ minbyte +"ÀÚ ÀÌ»ó ÀÔ·ÂÇØ¾ß ÇÕ´Ï´Ù.";
                }
                else
                {
                    errmsg = "{name+Àº´Â} ÃÖ¼Ò ÇÑ±Û"+ Math.round(minbyte/2) +"ÀÚ, ¿µ¹®"+ minbyte +"ÀÚ ÀÌ»ó ÀÔ·ÂÇØ¾ß ÇÕ´Ï´Ù.";
                }
                return doError(el, errmsg);
            }
        }

        if (maxbyte != null && el.value != "")
        {
            var errmsg = "";
            var len = 0;

            if (el.value.bytes() > parseInt(maxbyte))
            {
                if(option != null && option == "Number")
                {
                    errmsg = "{name+Àº´Â} ÃÖ´ë "+ maxbyte +"ÀÚ ÀÌÇÏ·Î ÀÔ·ÂÇØ¾ß ÇÕ´Ï´Ù.";
                }
                else if(option != null && option == "IncKorLang")
                {
                    errmsg = "{name+Àº´Â} ÃÖ´ë ÇÑ±Û"+ Math.round(maxbyte/2) +"ÀÚ ÀÌÇÏ·Î ÀÔ·ÂÇØ¾ß ÇÕ´Ï´Ù.";
                }
                else if(option != null && option == "EngOnly")
                {
                    errmsg = "{name+Àº´Â} ÃÖ´ë ¿µ¹®"+ maxbyte +"ÀÚ ÀÌÇÏ·Î ÀÔ·ÂÇØ¾ß ÇÕ´Ï´Ù.";
                }
                else
                {
                    errmsg = "{name+Àº´Â} ÃÖ´ë ÇÑ±Û"+ Math.round(maxbyte/2) +"ÀÚ, ¿µ¹®"+ maxbyte +"ÀÚ ÀÌÇÏ·Î ÀÔ·ÂÇØ¾ß ÇÕ´Ï´Ù.";
                }
                return doError(el, errmsg);
            }
        }

        if (match && (el.value != form.elements[match].value))
        {
            return doError(el, "{name+ÀÌ°¡} ÀÏÄ¡ÇÏÁö ¾Ê½À´Ï´Ù");
        }

        if (option != null && el.value != "")
        {
            if (el.getAttribute('SPAN') != null)
            {
                var sValue = new Array();
                for (span=0; span<el.getAttribute('SPAN'); span++)
                {
                    sValue[span] = form.elements[i+span].value;
                }

                var value = sValue.join(glue == null ? '' : glue);
                if (!funcs[option](el,value))
                {
                    return false;
                }
            }
            else
            {
                if (!funcs[option](el))
                {
                    return false;
                }
            }
        }
    }
    return true;
}

function checkKor(str, tail)
{
    return (str.hasFinalConsonant()) ? tail.substring(0,1) : tail.substring(1,2);
}

function doError(el, type, action)
{
    var pattern = /{([a-zA-Z0-9_]+)\+?([°¡-ÆR]{2})?}/;
    var name = (hname = el.getAttribute("KORNAME")) ? hname : el.getAttribute("NAME");
    pattern.exec(type);
    var tail = (RegExp.$2) ? checkKor(eval(RegExp.$1),RegExp.$2) : "";
    alert(type.replace(pattern,eval(RegExp.$1) + tail));

    if (action == "sel")
    {
        el.select();
    }
    else if (action == "del")
    {
        el.value = "";
    }
    setFocus(el);
    return false;
}

// Æ¯¼ö ÆÐÅÏ °Ë»ç ÇÔ¼ö ¸ÅÇÎ
var funcs = new Array();
funcs['EMail'] = isValidEmail;
funcs['TelNumber'] = isValidPhone;
funcs['CellNumber'] = isValidHPhone;
funcs['UserId'] = isValidUserid;
funcs['IncKorLang'] = hasHangul;
funcs['Number'] = isNumeric;
funcs['EngOnly'] = alphaOnly;
funcs['ResNo'] = isValidJumin;
funcs['BizNo'] = isValidBizNo;
funcs['Domain'] = isValidDomain;
funcs['ImgFile'] = isValidImage;
funcs['Password'] = isValidUserpwd;
funcs['TextCheck2'] = isValidText2;
funcs['AttachFile'] = isValidFile;

// ÆÐÅÏ °Ë»ç ÇÔ¼öµé
function isValidImage(el)
{
    var pattern = /[\w\W]+\.jpg|gif$/i;
    return (pattern.test(el.value)) ? true : doError(el,"{name+Àº´Â} jpg¿Í gif ÆÄÀÏ¸¸ ¾÷·Îµå ÇÒ ¼ö ÀÖ½À´Ï´Ù.");
}

function isValidFile(el)
{
    var pattern = /[\w\W]+\.asp|aspx|asa|php|phps|php3|php4|jsp|exe|bat|pl$/i;
    if (pattern.test(el.value))
    {
        doError(el,"Ã·ºÎÇÏ½Å ÆÄÀÏÀº ¾÷·Îµå ÇÒ ¼ö ÀÖ´Â ÆÄÀÏÀÌ ¾Æ´Õ´Ï´Ù.");
    }
    else
    {
        return true;
    }
}

function isValidEmail(el,value)
{
    var value = value ? value : el.value;
    var pattern = /^[_a-zA-Z0-9-\.]+@[\.a-zA-Z0-9-]+\.[a-zA-Z]+$/;
    return (pattern.test(value)) ? true : doError(el,NOT_VALID);
}

function isValidUserid(el)
{
    var pattern = /^[a-zA-Z]{1}[a-zA-Z0-9]{3,9}$/;
    return (pattern.test(el.value)) ? true : doError(el,"{name+Àº´Â} 4ÀÚÀÌ»ó 10ÀÚ ÀÌÇÏÀÌ¾î¾ß ÇÏ°í,\nÃ¹±ÛÀÚ´Â ¿µ¹® ±×µÚ´Â ¿µ¹®, ¼ýÀÚ¸¸ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù");
}

function isValidUserpwd(el)
{
    var pattern = /^[a-zA-Z0-9]{4,8}$/;
    return (pattern.test(el.value)) ? true : doError(el,"{name+Àº´Â} 4ÀÚÀÌ»ó 8ÀÚ ÀÌÇÏÀÌ¾î¾ß ÇÏ°í,\n¿µ¹®, ¼ýÀÚ¸¸ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù");
}

function hasHangul(el)
{
    var pattern = /[°¡-ÆR]/;
    return (pattern.test(el.value)) ? true : doError(el,"{name+Àº´Â} ¹Ýµå½Ã ÇÑ±Û·Î ÀÔ·ÂÇÏ½Ê½Ã¿À.");
}

function alphaOnly(el)
{
    var pattern = /^[a-zA-Z]+$/;
    return (pattern.test(el.value)) ? true : doError(el,NOT_VALID);
}

function isNumeric(el, value)
{
    var pattern = /^[0-9,.-]+$/;
    var num = value ? value : el.value;

    return (pattern.test(num)) ? true : doError(el,"{name+Àº´Â} ¹Ýµå½Ã ¼ýÀÚ·Î¸¸ ÀÔ·ÂÇØ¾ß ÇÕ´Ï´Ù");
}

function isValidJumin(el,value)
{
    var pattern = /^([0-9]{6})-?([0-9]{7})$/;
    var num = value ? value : el.value;

    if (!pattern.test(num))
    {
        return doError(el,NOT_VALID);
    }
    num = RegExp.$1 + RegExp.$2;

//  var sum = 0;
//  var last = num.charCodeAt(12) - 0x30;
//  var bases = "234567892345";
//  for (var i=0; i<12; i++) {
//      if (isNaN(num.substring(i,i+1))) return doError(el,NOT_VALID);
//      sum += (num.charCodeAt(i) - 0x30) * (bases.charCodeAt(i) - 0x30);
//  }
//  var mod = sum % 11;
//  return ((11 - mod) % 10 == last) ? true : doError(el,NOT_VALID);

    var digit = 0;
    var digset = "234567892345";

    for (var n=0; n<12; n++)
    {
        digit += parseInt(num.charAt(n),10) * parseInt(digset.charAt(n), 10);
    }

    digit = digit % 11;
    digit = 11 - digit;
    digit = digit % 10;

    if (digit != parseInt(num.charAt(12),10))
    {
        return doError(el, NOT_VALID);
    }

    return true;
}

function isValidBizNo(el, value)
{
    var pattern = /([0-9]{3})-?([0-9]{2})-?([0-9]{5})/;
    var num = value ? value : el.value;

    if (!pattern.test(num))
    {
        return doError(el,NOT_VALID);
    }
    num = RegExp.$1 + RegExp.$2 + RegExp.$3;

    var chkRule = "137137135";
    var strCorpNum = num;
    var step1, step2, step3, step4, step5, step6, step7;

    step1 = 0;

    for (zz=0; zz<7; zz++)
    {
        step1 = step1 + (strCorpNum.substring(zz, zz+1) * chkRule.substring(zz, zz+1));
    }

    step2 = step1 % 10;
    step3 = (strCorpNum.substring(7, 8) * chkRule.substring(7, 8)) % 10;
    step4 = strCorpNum.substring(8, 9) * chkRule.substring(8, 9);
    step5 = Math.round(step4 / 10 - 0.5);
    step6 = step4 - (step5 * 10);
    step7 = (10 - ((step2 + step3 + step5 + step6) % 10)) % 10;

    if (strCorpNum.substring(9, 10) != step7)   // °á°ú ºñ±³ ÆÇ´Ü
    {
        return doError(el,NOT_VALID);
    }
    return true;
}

function isValidHPhone(el, value)
{
    var pattern = /^([0]{1}[0-9]{1,2})-?([1-9]{1}[0-9]{2,3})-?([0-9]{4})$/;
    var num = value ? value : el.value;
    if (pattern.exec(num))
    {
        if (RegExp.$1 == "010" || RegExp.$1 == "011" || RegExp.$1 == "016" || RegExp.$1 == "017" || RegExp.$1 == "018" || RegExp.$1 == "019")
        {
            if (!el.getAttribute('SPAN'))
            {
                el.value = RegExp.$1 + "-" + RegExp.$2 + "-" + RegExp.$3;
            }
        }
        return true;
    }
    else
    {
        return doError(el,NOT_VALID);
    }
}

function isValidPhone(el,value)
{
    var pattern = /^([0-9]{2,4})-?([0-9]{3,4})-?([0-9]{4})/;
    var num = value ? value : el.value;
    if (pattern.exec(num))
    {
        if (RegExp.$1 == "010" || RegExp.$1 == "011" || RegExp.$1 == "016" || RegExp.$1 == "017" || RegExp.$1 == "018" || RegExp.$1 == "019")
        {
            if (!el.getAttribute('SPAN'))
            {
                el.value = RegExp.$1 + "-" + RegExp.$2 + "-" + RegExp.$3;
            }
        }
        return true;
    }
    else
    {
        return doError(el,NOT_VALID);
    }
}

function isValidDomain(el,value)
{
    var value = value ? value : el.value;

    if (value.indexOf("http://") > -1)
    {
        return doError(el,"{name+Àº´Â} 'http://' ºÎºÐÀº »©°í ÀÔ·ÂÇÏ½Ê½Ã¿À.");
    }

    var pattern = new RegExp("^(http://)?([°¡-Èþa-zA-Z0-9-\.]+\.[a-zA-Z]{2,3}$)","i");

    if (pattern.test(value))
    {
        el.value = RegExp.$2;
        return true;
    }
    else
    {
        return doError(el,NOT_VALID);
    }
}

function isValidText2(el,value)
{
    var pattern = /[`]|[\']|[\"]/;
    if (el.value != "")
    {
        if (pattern.test(el.value))
        {
            doError(el, "ÀÔ·ÂÇÏ½Å ¹®ÀÚÁß Æ¯¼ö¹®ÀÚ(` \' \")´Â »ç¿ëÇÏ½Ç¼ö ¾ø½À´Ï´Ù.");
        }
        else
        {
            return true;
        }
    }
}