프로그램/script

javascript tip1 / 출처 whois

mulderu 2008. 8. 9. 10:42

<script language="JavaScript" type="text/JavaScript">
  function FuncSwapImage(p_obj,p_url){
    p_obj.src = p_url;
  }
 
  function FuncLayer(p_value,p_num){
    eval("Layer" + p_num).style.visibility = p_value;
  }
 
  function FuncViewAll(p_name){
    strstyle = eval("p_name").style.visibility;
    if(strstyle == "hidden"){
      eval("p_name").style.visibility = "visible";
    }else{
      eval("p_name").style.visibility = "hidden";
    }
  }

function playFlash(filename,width,height,id,trans,lock) {
document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="'+width+'" height="'+height+'" id="'+id+'" align="middle"><param name="allowScriptAccess" value="always" /><param name="movie" value="'+filename+'" /><param name="quality" value="high" /><param name="bgcolor" value="#ffffff" /><param name="wmode" value="'+trans+'" /><param name="menu" value="'+lock+'" /><embed src="'+filename+'" quality="high" bgcolor="#ffffff" width="'+width+'" height="'+height+'" name="'+id+'" align="middle" allowScriptAccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /></object>')
}
//받아오는 변수 : 파일명,폭,높이,아이디설정,wmode설정,menu설정




function TopMenuCreate(xObj, xWidth, xHeight, xParam, xEmbed)
{
var xCreateStr = '';
xCreateStr = '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="'+ xWidth +'" height="'+ xHeight+'">';

xParamArry = xParam.split('||');

var cnt = xParamArry.length;

xTmp = new Array(cnt);

for(var i = 0; i < cnt; i++)
{
xCreateStr = xCreateStr + xParamArry[i].toString();
}

xCreateStr = xCreateStr + xEmbed;

xCreateStr = xCreateStr + '</object>';


xObj.innerHTML = xCreateStr.toString();

}

function flash(path, width, height, name){
document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="'+width+'" height="'+height+'" codebase="https://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" id="'+name+'">'
+'<param name="movie" value="'+path+'">'
+'<param name="quality" value="high">'
+'<param name="wmode" value="transparent">'
+'<param name="allowScriptAccess" value="always">'
+'<embed src="'+path+'" quality="high" wmode="transparent" pluginspage="https://www.macromedia.com/go/getflashplayer" width="'+width+'" height="'+height+'" type="application/x-shockwave-flash" showLiveConnect="true" name="'+name+'" allowScriptAccess="always"></embed>'
+'</object>');
}

function document_write(value){
document.write(value);
}


function trimString (str) {
str = this != window? this : str;
return str.replace(/^\s+/g, '').replace(/\s+$/g, '');
}

String.prototype.trim = trimString;

function entchkkor(form){
if(event.keyCode==13){
mltDomainSearch_Kor(form);
}
}

function entchkeng(form){
if(event.keyCode==13){
mltDomainSearch_Eng(form);
}
}

// 한글도메인 유효성 체크 및 검색페이지 연결
function mltDomainSearch_Kor(form){
var host = form.hostname.value;

//[1.1] 도메인명 유무
if( host == null || host.trim() == "" ) {
alert("도메인명을 입력하여 주십시오.");
form.hostname.style.backgroundImage = "";
form.hostname.focus();
return false;
}

//[1.2] 도메인명 형식 체크
var valid_dom = /^[가-힣a-zA-Z0-9\-]+$/;
if(!valid_dom.test(host)){
alert("도메인 형식이 맞지 않습니다. \n\n다시 입력해주십시오.");
form.hostname.focus();
return false;
}
//[1.3] 길이 검사 : 최소 2자 - 17자 까지
var strlength = host.length;
var krstr = /[가-힣]/;
if(!krstr.test(host)){
alert("한글을 적어도 한 글자 이상 포함해야 합니다. \n\n다시 입력해주십시오.");
form.hostname.focus();
return false;
}

// 길이검사시 한글영문의 경우 영문을 1글자로 계산하게되면 안됨.
// 한글한글자에 대해 영문은 0.5자로 계산하여 17자를 계산하도록함.
junkyAlphabet = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-";
var strlength2 = 0; //한글포함한 경우의 길이계산을 위한 별도의 변수할당.
for ( var i = 0; i < strlength; i++ ) {
if ( junkyAlphabet.indexOf( host.charAt(i) ) >= 0 ) {
strlength2 = strlength2 + 0.5;
} else {
strlength2 = strlength2 + 1;
}
}

if( strlength2 < 1 || strlength2 > 17 ) {
alert("도메인명은 최소 2자에서 최대 17까지만 등록가능합니다. \n다시 입력해주십시오.");
form.hostname.focus();
return false;
}

//[1.4] "-" 으로 시작하는 것 금지
if( host.indexOf("-") == 0 ) {
alert("하이픈(-)으로 시작하는 도메인명은 등록하실 수 없습니다. \n다시 입력해주십시오.");
form.hostname.focus();
return false;
}

//[1.5] "-" 으로 끝나는 것 금지
if( host.lastIndexOf("-") == (strlength-1) ) {
alert("하이픈(-)으로 끝나는 도메인명은 등록하실 수 없습니다. \n다시 입력해주십시오.");
form.hostname.focus();
return false;
}

// [2.1]검색 도메인 타입 지정
// 주요 도메인타입 : com, net, org , kr
// 그외 도메인타입 : 현재 없음
// 주요타입만 검색할 경우 cs=k;
// 그외타입만 검색할 경우 cs=c;
// 둘다 검색할 경우 : cs=kc;
// 아무 타입도 지정하지 않았다면 경고
var actionpage = "http://whoisdomain.kr/regist/search_result.php";
var typeoption = "";
var types = "";

//주요 도메인 타입에 대한 검색
if(form.chkPrime.checked) {
typeoption = "k";
//types = ".com|.net|.org|.kr|.info";
//types = ".com|.net|.org|.kr|.keyword|.biz|.info";
types = ".com|.net|.org|.kr|.biz|.info";
}

//그외 도메인 타입에 대한 검색
if(form.chkSub != null && form.chkSub.checked) {
typeoption = ((typeoption != "")? typeoption + "kc" : "c" );
types = types + "";
}

var types_buf = types.split("|");
form.domains.value = "";

for (var i = 0; i < types_buf.length; i++)
{
var domains_temp = host + types_buf[i];
form.domains.value += domains_temp+"|";

}

//[2.2] 타입지정이 없다면 경고
if(typeoption == "")
{
alert("도메인 타입을 선택하세요.");
form.chkPrime.checked = true;
form.chkPrime.focus();
return false;
}

form.action = actionpage;
//form.dom.value = host;
//form.type.value = types;
form.gubun.value = "|";
form.cs.value = typeoption;
form.mode.value = "search_result";
form.target="_top";

form.submit();
}


// 영문도메인 유효성 체크 및 검색페이지 연결
function mltDomainSearch_Eng(form)
{
var host = form.hostname.value;
var strlength = host.length;

var str="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-";
var j=0,a=0;

//[1.1] 도메인명 유무
host = host.trim();
if( host == null || host.trim() == "" ) {
alert("도메인명을 입력하여 주십시오.");
form.hostname.style.backgroundImage = "";
form.hostname.focus();
return false;
}

//[1.2] 도메인길이 체크
if(host.length < 2 || host.length > 63)
{
alert("도메인 이름은 최소 2자, 최대 63자까지 가능합니다.");
form.hostname.focus();
return false;
}

//[1.3] 도메인명 유효 체크
for(i=0;i<host.length;i++)
{
temp = host.charAt(i);

if(temp == " ") {
alert("유효하지 않은 도메인 이름입니다. \n\n도메인 이름은 공백을 포함할 수 없습니다. \n\n다시 입력해 주십시오!!");
form.hostname.focus();
return false;
} else if(temp == ".") {
alert("유효하지 않은 도메인 이름입니다. \n\n도메인 이름은 . 를 포함할 수 없습니다. \n\n다시 입력해 주십시오!!");
form.hostname.focus();
return false;
}

if(host.value != "" && str.indexOf(temp) < 0)
{
alert("유효하지 않은 도메인 이름입니다. \n\n도메인 이름은 특수문자를 포함할 수 없습니다. \n\n다시 입력해 주십시오!!");
form.hostname.focus();
return false;
}

j = i;
}

//[1.4] "-" 으로 시작하는 것 금지
if( host.indexOf("-") == 0 ) {
alert("하이픈(-)으로 시작하는 도메인명은 등록하실 수 없습니다. \n다시 입력해주십시오.");
form.hostname.focus();
return false;
}

//[1.5] "-" 으로 끝나는 것 금지
if( host.lastIndexOf("-") == (strlength-1) ) {
alert("하이픈(-)으로 끝나는 도메인명은 등록하실 수 없습니다. \n다시 입력해주십시오.");
form.hostname.focus();
return false;
}

// [2.1]검색 도메인 타입 지정
// 주요 도메인타입 : com, net, in , org, co.kr, ne.kr, or.kr, pe.kr
// 그외 도메인타입 : biz, info, name, tv, to, cc, cn, com.cn, jp, co.jp
// 주요타입만 검색할 경우 cs=p;
// 그외타입만 검색할 경우 cs=s;
// 둘다 검색할 경우 : cs=ps;
// 아무 타입도 지정하지 않았다면 경고
//var actionpage = "http://whoisdomain.kr/regist/search_result.php";
var actionpage = form.actionPage.value;
var typeoption = "";
var types = "";

//주요 도메인 타입에 대한 검색
if(form.chkPrime.checked) {
typeoption = "p";
types = ".com|.net|.me|.org|.kr|.co.kr|.asia|.or.kr|.tv|.in|.cn|.jp|.biz|.info|.keyword";
//types = ".com|.net|.me|.org|.kr|.co.kr|.asia|.or.kr|.tv|.in|.cn|.jp|.biz|.info";
}

//그외 도메인 타입에 대한 검색
if(form.chkSub != null && form.chkSub.checked) {
typeoption = ((typeoption != "")? typeoption + "ps" : "s" );
if (types)
{
types = types + "|.ac|.tw|.eu|.cc|.com.cn|.pe.kr|.mobi|.name";
} else {
types = ".ac|.tw|.eu|.cc|.com.cn|.pe.kr|.mobi|.name";
}
}

var types_buf = types.split("|");
form.domains.value = "";

for (var i = 0; i < types_buf.length; i++)
{
var domains_temp = host + types_buf[i];
form.domains.value += domains_temp+"|";

}

//[2.2] 타입지정이 없다면 경고
if(typeoption == "")
{
alert("도메인 타입을 선택하세요.");
form.chkPrime.checked = true;
form.chkPrime.focus();
return false;
}

form.action = actionpage;
//form.dom.value = host;
//form.type.value = types;
form.gubun.value = "|";
form.cs.value = typeoption;
form.mode.value = "search_result";
form.target="_top";

form.submit();
// return true;

}


///////////////////////////////////////////////////////////////
//////////////// 추가 코드 /////////////////////////////////////
//
// 네이밍 마법사 관련
// 2005/08/11 Alex
//

function isValidDomain(str)
{

// 길이 검사 : 최소 1자 - 63자 까지
str = str.trim();

var strlength = str.length;
//alert(strlength);
if( strlength < 1 || strlength > 63 ) {
alert("도메인명은 최소 1자에서 최대 63까지만 등록가능합니다. \n\n다시 입력해주십시오");
return false;
}

var isvalid = /^[가-힣a-zA-Z0-9\-]+$/;
if(!isvalid.test(str)){
alert("하이픈(-) 문자를 제외한 특수문자는 사용하실 수 없습니다.\n\n다시 입력해주십시오");
return false;
}

// "bq--" 으로 시작하는 것 금지
if( str.indexOf("bq--") == 0 ) {
alert("bq--으로 시작하는 도메인명은 예약어이므로 등록하실 수 없습니다. \n\n다시 입력해주십시오");
return false;
}

// "xn--" 으로 시작하는 것 금지
if( str.indexOf("xn--") == 0 ) {
alert("xn--으로 시작하는 도메인명은 예약어이므로 등록하실 수 없습니다. \n\n다시 입력해주십시오");
return false;
}
// "-" 으로 시작하는 것 금지
if( str.indexOf("-") == 0 ) {
alert("하이픈(-)으로 시작하는 도메인명은 등록하실 수 없습니다. \n\n다시 입력해주십시오");
return false;
}

// "-" 으로 끝나는 것 금지
if( str.lastIndexOf("-") == (strlength-1) ) {
alert("하이픈(-)으로 끝나는 도메인명은 등록하실 수 없습니다. \n\n다시 입력해주십시오");
return false;
}

return true;
}

function sendToNamingWizard(FormObject)
{

var actionForm = document.NamingWizardForm;
var key;
if (FormObject.name == "hangul") {
key = FormObject.hostname.value;
} else if(FormObject.name == "quest") {
key = FormObject.hostname.value;
} else if(FormObject.name == "searchForm") {
key = FormObject.hostname.value;
}
window.status = key;

if (key != "" && !isValidDomain(key)) {
FormObject.hostname.focus();
return false;
}

if (key == "") {
actionForm.action = "/namingwizard/naming_wizard_user.php";
} else {
actionForm.action = "/namingwizard/naming_wizard_user_result.php";
actionForm.key.value = key;

}

actionForm.target="_top";
actionForm.submit();

//return true;
return;
}

function chkKeyword1(ff) {

/*
var alt_msg = "서비스 업그레이드 작업으로 인해 아래 시간 동안 등록, 연장 등 서비스를 이용하실 수 없습니다.\n";
alt_msg += "'확인' 버튼을 누르시면 상세안내를 확인하실 수 있습니다.\n\n";
alt_msg += "서비스 중단 시간: 7월 22일(화) 오후 6:00시 - 7월 23일(수) 오전 10:00";

alert (alt_msg);
location.href = "http://whoisdomain.kr/keyword/keyword_n.htm";
return false;
*/

var str;
str = ff.keyword.value;

if( str == null || str.trim() == "" ) {
alert("인터넷키워드명을 입력하여 주십시오.");
ff.keyword.style.backgroundImage = "";
ff.keyword.focus();
return false;
}

var isvalid = /^[가-힣a-zA-Z0-9\-]+$/;
if(!isvalid.test(str)){
alert("!!!규칙\n1.한글은 완성형 문자여야 합니다.\n2.- 문자를 제외한 특수문자는 사용불가.");
ff.keyword.focus();
return false;
}
if( str.indexOf("-") == 0 ) {
alert("하이픈(-)으로 시작하는 키워드는 신청하실수 없습니다.");
ff.keyword.focus();
return false;
}

// "-" 으로 끝나는 것 금지
if( str.lastIndexOf("-") == (str.length-1) ) {
alert("하이픈(-)으로 끝나는 키워드는 신청하실수 없습니다.");
ff.keyword.focus();
return false;
}
return true;

//ff.submit();
}

// 검색창에 배경 넣기
var c=false;
function ch1 () {
if ( c ) return;
document.hangul.hostname.style.backgroundImage="";
c=true;
}

var d=false;
function ch2 () {
if ( d ) return;
document.quest.hostname.style.backgroundImage="";
d=true;
}

var key=false;
function ch3 () {
if ( key ) return;
document.ff.keyword.style.backgroundImage="";
key=true;
}

var f=false;
function ch4 () {
if ( f ) return;
document.winc_form.domain_name.style.backgroundImage="";
f=true;
}

var g=false;
function ch5 () {
if ( g ) return;
document.kwd.kw.style.backgroundImage="";
g=true;
}


var f=false;
function ch6 () {
if ( f ) return;
document.winc_form.numkey.style.backgroundImage="";
f=true;
}

var g=false;
function ch7 () {
if ( g ) return;
document.form1.domain_name.style.backgroundImage="";
g=true;
}

function playFlash(filename,width,height,id,trans,lock) {
document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="'+width+'" height="'+height+'" id="'+id+'" align="middle"><param name="allowScriptAccess" value="always" /><param name="movie" value="'+filename+'" /><param name="quality" value="high" /><param name="bgcolor" value="#ffffff" /><param name="wmode" value="'+trans+'" /><param name="menu" value="'+lock+'" /><embed src="'+filename+'" quality="high" bgcolor="#ffffff" width="'+width+'" height="'+height+'" name="'+id+'" align="middle" allowScriptAccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /></object>')
}

</script>