주로 cafe-xxx.com 쪽 링크에서 발견되는 소스코드이다. 생각보다 문자 확인 용도 스크립트를 찾을 때 유용할 거 같다. 알고리즘을 스크랩하는게 정석이니깐 ㅎ

 

// JavaScript Document

$(function(){
	$(".z_ht_login_wr").css({"width":$(document).width(),"height":$(document).height()});
	$(".z_ht_login_jz").css({"position":"absolute","top":($(".z_ht_login_wr").height()-$(".z_ht_login_jz").height())/2,"left":($(".z_ht_login_wr").width()-$(".z_ht_login_jz").width())/2})
	$(".z_ht_login_f1_username").focus();
});

$(function(){
	$("input[type='file'][data-yl]").change(function(){
		var div_id = $(this).data('yl');
		$(div_id).empty();
		tpyl(div_id, $(this));
	});
})

// zhiding
$(document).on("scroll",function(){
	if ($(document).scrollTop()>=$(window).height() * 0.5){
		$(".z_jb_up_kong").show();
		$(".z_jb_up_kong").css({"z-index":21});
	}
	if ($(document).scrollTop()<=$(window).height() * 0.5){
		$(".z_jb_up_kong").hide();
	}
});
$(function(){
	$(".z_jb_up_kong").on("click", function(e){
		e.preventDefault();		
		$('html,body').animate({scrollTop:"0px"},800);
	});
});


// tp
$(function(){	
	$(".z_tcc_tp").css("cursor","pointer");
	$(".z_tcc_tp").on("click",function(){		
		var kuangao;
		if($(this)[0].naturalWidth > $(window).width()){ kuangao=" width='100%' ";}
		var z_jb_tmbj_html_xs_tp = "<img src='"+$(this).attr("src")+"' "+kuangao+" />";
		$(".z_jb_tcc_tmbj_tp").fadeIn(300);
		$(".z_jb_tcc_tmbj_xs_tp").html(z_jb_tmbj_html_xs_tp);
		var top = ($(window).height() - $(".z_jb_tcc_tmbj_xs_tp").height()) / 2;
		var left = ($(window).width() - $(".z_jb_tcc_tmbj_xs_tp").width()) / 2;			
		$(".z_jb_tcc_tmbj_xs_tp").css({"top":top,"left":left}); // "cursor":"pointer"
		// $(".z_jb_tcc_tmbj_xs_tp").on("click",function(){
		// 	return false;
		// });
	});
	$(".z_jb_tcc_tmbj_tp").on("click",function(){
		$(".z_jb_tcc_tmbj_tp").fadeOut(300);
	});	
});​
// JavaScript Document
function GetE(objectId) { 
	if(document.getElementById && document.getElementById(objectId)) { 
		return document.getElementById(objectId);// W3C DOM 
	} else if (document.all && document.all(objectId)) { 
		return document.all(objectId);// MSIE 4 DOM 
	} else if (document.layers && document.layers[objectId]) { 
		return document.layers[objectId];// NN 4 DOM.. note: this won't find nested layers 
	} else { 
		return false; 
	} 
}

function GetName(objName){
	return document.getElementsByName(objName);
}

function createxmlhttp(){
  xmlhttpobj = false;
  try{
    xmlhttpobj = new XMLHttpRequest;
  }catch(e){
    try{
      xmlhttpobj=new ActiveXObject("MSXML2.XMLHTTP");
    }catch(e2){
      try{
        xmlhttpobj=new ActiveXObject("Microsoft.XMLHTTP");
      }catch(e3){
        xmlhttpobj = false;
      }
    }
  }
  return xmlhttpobj; 
}

function querenquxiao(xiaoxi,dizhi){
	if(confirm(xiaoxi)==false){
		return false;
	}else{
		window.location.href=dizhi;
	}	
}

function in_array(array, str) { // p_catalog 分类里 没这个不行。
	for(var i=0; i<array.length; i++) {
		if(str==array[i]) {
			return i;
		}
	}
	return -1;
}

function chk_jinzhi1(tgt,val){
	var jinzhi = new RegExp("^.*[`^{}\\[\\]|;<'\"\\\\].*"); //   <!--  `^{}[]|;<'"\  --> 允许空格了
	if (jinzhi.test(val)){
		alert("특수문자가 있습니다.");
		// document.getElementById(obj).value="";
		// document.getElementById(obj).focus();
		$(tgt).val("");
		$(tgt).focus();
		return;
	}
}

function chk_jinzhi2(tgt,val){
	var jinzhi = new RegExp("^.*[ `~!@#$%^&*()-=+{}\\[\\]\\\\|/;:'\",<.> ].*"); // <!-- `~!@#$%^&*()-+=\|{[]};:',./<> --> 最前面还有看不见的空格 也禁止了
	if (jinzhi.test(val)){
		alert("특수문자가 포함되여 있습니다.");
		// document.getElementById(obj).value="";
		// document.getElementById(obj).focus();
		$(tgt).val("");
		$(tgt).focus();
		return;
	}
}

function chk_changdu(tgt,changdu){
	if($(tgt).val().length>changdu){
		alert(changdu + " 글자까지 가능합니다.");
		$(tgt).val($(tgt).val().substring(0,changdu));
	}
}

function jiancha_email(tgt,val){ // 检查email格式
	var reg = /^([a-zA-Z0-9-]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;
	if(reg.test(val)){
		//alert("true");
	}else{
		alert("잘못된 이메일입니다.");
		// document.getElementById(obj).value="";
		// document.getElementById(obj).focus();
		$(tgt).val("");
		$(tgt).focus();
		return false;
	}
}

function sf_ywsz_1(tgt,val){ // 英文和数字
	var Letters="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890";
	var i;
	var c;
	for(i=0; i<val.length; i++){
		c=val.charAt( i );
		if (Letters.indexOf( c ) < 0) { 
			alert('영문 , 숫자만 입력해주세요'); 
			// document.getElementById(obj).value = "";
			// document.getElementById(obj).focus();
			$(tgt).val("");
			$(tgt).focus();
			return false;
		}
	}
	return true;
}

function sf_ywsz_2(tgt,val){ // 英文和数字_
	var val = val;
	check = /[^a-z0-9_]/;
	if(check.test(val)) {
		alert("영문 , 숫자 _ 만 입력해주세요");
		// document.getElementById(obj).value = "";
		// document.getElementById(obj).focus();
		$(tgt).val("");
		$(tgt).focus();
		return;
	}
}

function sf_ywsz_3(tgt,val){ // 英文和数字_@-.
	var val = val;
	check = /[^a-z0-9_@.-]/;
	if(check.test(val)) {
		alert("영문 , 숫자 _ @ - . 만 입력해주세요");
		// document.getElementById(obj).value = "";
		// document.getElementById(obj).focus();
		$(tgt).val("");
		$(tgt).focus();
		return;
	}
}

function sf_shuzi_1(obj,val){ // 数字
	bString = "0123456789";
	for(i=0; i<document.getElementById(obj).value.length; i++){
		if (bString.indexOf(document.getElementById(obj).value.substring(i,i+1))==-1){
			alert('숫자만 가능합니다');
			document.getElementById(obj).value='';
			document.getElementById(obj).focus();
			return false;
		}
	}
}

function sf_shuzi_2(tgt,val){ // 数字 isNaN 检查是否数字 (-100 可以 33.33 可以)
	if (isNaN(val)){
		alert("숫자만 가능합니다");
		// document.getElementById(obj).value='';
		// document.getElementById(obj).focus();
		$(tgt).val("");
		$(tgt).focus();
		return false;
	}
}

function sf_shuzi_3(a){ // 数字、小数点、负数
	var fa="";
	if(a.value.substring(0,1)=="-")
		fa="-";
	var str=(a.value.replace(/[^0-9.]/g,'')).replace(/[.][0-9]*[.]/, '.');
	if (str.substring(0,1)==".")
   str="0"+str;
   a.value=fa+str;
}

function jiancha_nicheng(){ // 韩文和英文
	f=document.Eform;
	for(i=0; i<f.nick_name.value.length; i++){
	var chkAt = f.nick_name.value.charCodeAt(i);
		if(!(chkAt >= 97 && chkAt <= 122) && !(chkAt >= 12593 && chkAt <= 12643) && !(chkAt >= 44032 && chkAt <= 55203)){
		alert("한글과 영문만 가능합니다.");
		f.nick_name.value = f.nick_name.value.replace(/.$/,"");
		f.nick_name.value = "";
		f.nick_name.focus();
		return false;
		}
	}
	return true;
}

function sf_hanwen_1(tgt,val){ // 只允许韩文
	var val=val;
	check = /[^ㄱ-ㅎ|ㅏ-ㅣ|가-힣]/; // check = /[^\u4E00-\u9FA5]/; 这是中文
	if(check.test(val)) {
		alert("한글만 입력해주세요");
		// document.getElementById(obj).value = "";
		// document.getElementById(obj).focus();
		$(tgt).val("");
		$(tgt).focus();
		return;
	}
}

function sf_hanwen_2(tgt,val){
	var val = val;
	for(i=0; i<val.length; i++){
		if(!( (val.charCodeAt(i) > 0x3130 && val.charCodeAt(i) < 0x318F) || (val.charCodeAt(i) >= 0xAC00 && val.charCodeAt(i) <= 0xD7A3))){
			alert("한글만 입력해주세요");
			$(tgt).val("");
			$(tgt).focus();
			return;
		}
	}
}

function sf_zhongwen(tgt,val){ // 中文
	var val = val;
	check = /[^\u4E00-\u9FA5]/; // check = /[^\u4E00-\u9FA5]/; 这是中文
	if(check.test(val)) {
		alert("중문만 입력해주세요");
		// document.getElementById(obj).value = "";
		// document.getElementById(obj).focus();
		$(tgt).val("");
		$(tgt).focus();
		return;
	}
}

function nl2br(str, is_xhtml) {
  var breakTag = (is_xhtml || typeof is_xhtml === 'undefined') ? '<br />' : '<br>';    
  return (str + '').replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g, '$1'+ breakTag +'$2');
}

function tpyl(div_id, input){
	// input 요소에 선택된 파일 정보들의 배열 추출
	var files = input.get(0).files;
	if(files){
		for(var i=0; i<files.length; i++){
			// 파일리더 객체 생성
			var reader = new FileReader();
			// 파일리더가 파일 읽기를 완료 했을 경우의 이벤트 구현
			reader.onload = function(e){
				var img = $("<img>");				
				img.attr('src', e.target.result);
				img.addClass('div_tpyl');
				$(div_id).append(img);
			}

			// 파일리더에게 input 요소에 선택된 파일을 읽도록 지정한다.
			reader.readAsDataURL(files[i]);
		}
	}
}

function addLoadEvent(func){ //一个页面不能同时使用2个以上onload 所以使用该函数就能解决 
	var oldonload = window.onload;             
	if (typeof window.onload != 'function') { 
		window.onload = func; 
	} else { 
		window.onload = function(){ 
			oldonload(); 
			func(); 
		} 
	} 
} 

function reurl(){
	url = location.href; //把当前页面的地址赋给变量 url
	var times = url.split("?"); //分切变量 url 分隔符号为 "?"
	if(times[1] != 1){ //如果?后的值不等于1表示没有刷新
		url += "?1"; //把变量 url 的值加入 ?1
		self.location.replace(url); //刷新页面
	}
}

function rere(){
	if(location.href.indexOf('#reloaded')==-1){
		location.href=location.href+"#reloaded"
		location.reload()
	}
}

function img_resize(obj, maxw) { 
  var obj = document.getElementById(obj);
  var imgs = obj.getElementsByTagName('img');
  var imgCount = imgs.length;
  if(imgCount==0) return;
  for(var i=0; i<imgCount; i++) {
    if(imgs[i].width>maxw) {
      var oldw = imgs[i].width;
      var oldh = imgs[i].height;
      imgs[i].style.width = maxw +'px';
      imgs[i].style.height = (maxw/oldw*oldh) +'px';
    }
  }
}

function img_fix(obj,width){ // 图片宽度按比例调整 
	var max=width;
	var imgs=$("#"+obj).find("img");
	for (i=0;i<imgs.length;i++){
		var img=new Image();
		img.src=$(imgs.eq(i)).attr("src");
		document.body.appendChild(img);
		var w=img.width;
		var h=img.height;
		//alert(max);
		delete (img);
		document.body.removeChild(img);

		if(w>max){
			$(imgs.eq(i)).attr("width",max);
			$(imgs.eq(i)).attr("height",h/(w/max));
		}

		//if(w>max){$(imgs.eq(i)).width(max);$(imgs.eq(i)).height(h/(w/max));}		
	}
}

function setform(obj,tables,field){
	var values=$("#"+obj).val();
	var id=obj.replace(/[^\d]*/ig,"");
	$.ajax({
		type: "POST",
		url: web_path+"ajaxsend.php",
		data:{act:"set",id:id,values:values,tables:tables,field:field},
		timeout: 15000,
		success: function(data) {
			setmsg(data);
		}
	});
}

function getform(tables,wheres,sfield,values){
	$.ajax({
		type: "POST",
		url: web_path+"ajaxsend.php",
		data:{act:"get",tables:tables,wheres:wheres,sfield:sfield,values:values},
		timeout: 15000,
		success: function(data) {
			getmsg(data);
		}
	});
}

function findstr(strSplit,strFind,s){
	findstr=false;
	strspl=strSplit.split(s)
	for (i=0;i<strspl.length;i++){
		if (strspl[i]=strFind){
			return true;
		}
	}
}

function setCookie_jxf(name, value) { //cookies设置 
	var argv = setCookie.arguments; 
	var argc = setCookie.arguments.length; 
	var expires = 1; 
	if(expires!=null){ 
		var LargeExpDate = new Date (); 
		LargeExpDate.setTime(LargeExpDate.getTime() + (expires*1000*3600*24)); 
	} 
	document.cookie = name + "=" + escape (value)+((expires == null) ? "" : ("; expires=" +LargeExpDate.toGMTString())); 
} 

function getCookie_jxf(sVar){
	cookies = document.cookie.split(';');
	for(var i = 1; i <= cookies.length; i++){
	    if(cookies[i - 1].split('=')[0] == sVar){
	     return cookies[i - 1].split('=')[1];
	    }else{
		return "nothing";	
		}
	}
	return '';
}

function delCookie_jxf(name){ //删除cookie
  var exp = new Date();
  exp.setTime(exp.getTime() - 1);
  var cval=getCookie(name);
  if(cval!=null) document.cookie= name + "="+cval+";expires="+exp.toGMTString();
}


function CheckAll(form,boxname){
	for (i=0; i < document.getElementsByName("checklist[]").length; i++) {
		var e =  document.getElementsByName("checklist[]")[i];
		if (e.Name != boxname&&e.disabled==false)
		e.checked = document.getElementById(boxname).checked;
	}
}

function UpDownNum(tgt,ud,zx,zd){
	if(zx==undefined){zx=0;}
	if(zd==undefined){zd=10000;}
	if(ud=="up"){$(tgt).val(Number($(tgt).val())+1);}
	if(ud=="down"){$(tgt).val(Number($(tgt).val())-1);}
	if($(tgt).val()<zx){$(tgt).val(zx);}
	if($(tgt).val()>zd){$(tgt).val(zd);}
}

// function UpDownNum(fi,str){
// 	var obj = GetE(fi);
// 	if(obj.disabled==false) {
// 		var ps_num = (obj.value=='') ? 0: parseInt(obj.value);
// 		(str=="up") ? ps_num++: ps_num--;
// 		if(ps_num<0) ps_num=0;
// 		obj.value = ps_num;
// 	}
// 	return;
// }

var sys_scrollbar=function (tgt){                     //跟随页面滚动条的QUICK MENU 层
	var space=$(tgt).position().top;
	$(tgt).css("top",space);
	void function(){
	var goTo = 0;
	var roll=setInterval(function(){
		var height =$(document).scrollTop()+space;
		var top = parseInt($(tgt).position().top);
		if(height!= top){
			goTo = height-parseInt((height - top)*0.9);
			$(tgt).css("top",goTo+'px');
		}
		//else{if(roll) clearInterval(roll);}
		},20);
	}()
}


function xz_cd(f_code,code){
	if(code.length>=2){$("#cd2").show();}else{$("#cd2").hide();}
	if(code.length>=4){$("#cd3").show();}else{$("#cd3").hide();}
	$("#cd1").empty();
	$("#cd2").empty();
	$("#cd3").empty();
	var no_option = "<option value=''>선택하세요</option>";
	$("#cd1").append(no_option);
	$("#cd2").append(no_option);
	$("#cd3").append(no_option);	
	for(i=0;i<datas_fl.length;i++){		
		if(datas_fl[i]["fl_code"].length==2){
			if(datas_fl[i]["fl_code"].substr(0,2) == code.substr(0,2)){ selected = " selected ";}else{ selected="";}
			$("#cd1").append("<option value="+datas_fl[i]["fl_code"]+""+selected+">"+datas_fl[i]["fl_name"]+"</option>");			
		}
		if(datas_fl[i]["fl_code"].length==4 && datas_fl[i]["fl_code"].substr(0,2)==code.substr(0,2)){
			if(datas_fl[i]["fl_code"].substr(0,4) == code.substr(0,4)){ selected = " selected ";}else{ selected="";}
			$("#cd2").append("<option value="+datas_fl[i]["fl_code"]+""+selected+">"+datas_fl[i]["fl_name"]+"</option>");			
		}
		if(datas_fl[i]["fl_code"].length==6 && datas_fl[i]["fl_code"].substr(0,4)==code.substr(0,4)){
			if(datas_fl[i]["fl_code"].substr(0,6) == code.substr(0,6)){ selected = " selected ";}else{ selected="";}
			$("#cd3").append("<option value="+datas_fl[i]["fl_code"]+""+selected+">"+datas_fl[i]["fl_name"]+"</option>");			
		}
	}
	$("#fl_code").val(code);
}


function catalog_opt(locationid,val){
	var tmp_code=new Array();
	var j=0
	/*	if (parseInt(locationid,36)==0){}*/
	if (locationid=="00"){var layer=1;}else{var layer=parseInt(locationid.length)/2+1;}
	if (layer>=max_layer){locationid=locationid.substr(0,max_layer*2);}
	var obj="select_box"+layer;
	$("#"+obj).nextAll().remove();
	if ($("#select_box"+layer).length==0 && layer<=max_layer){
		$("#select_box_view").append("<select name='select_box"+layer+"' id='select_box"+layer+"' size='10' onChange='catalog_opt(this.options[this.selectedIndex].value,\"\")' class='select_box_select'></select>");	
	}
	$("#"+obj).empty();
	var normal_option="<option value='"+locationid+"'>선택하세요</option>";
	$("#"+obj).append(normal_option);
		for (var i=0;i <datas_fl.length; i++){
			//alert(datas_fl[i]["classid"]);
			//console.log(datas_fl[i]["fl_code"]);
		if (datas_fl[i]["fl_fcode"].substr(0,locationid.length) == locationid && datas_fl[i]["fl_code"].length==layer*2)
		{
			tmp_code[j]=datas_fl[i]["fl_code"].substr(datas_fl[i]["fl_code"].length-2,datas_fl[i]["fl_code"].length);
			console.log(tmp_code[j]);
			var selected="";
			if (val!="" && val.substr(0,datas_fl[i]["fl_code"].length)==datas_fl[i]["fl_code"]){selected=" selected ";}
			$("#"+obj).append("<option value='"+datas_fl[i]["fl_code"]+"'"+selected+">"+datas_fl[i]["fl_name"]+"</option>");
			j++;
		}
	}
	if (val!="" && layer<=val.length/2 && layer<=max_layer){catalog_opt(val.substr(0,layer*2),val);return false;}
	$("#fl_code").val(locationid);
	//shezhi_psess("shezhi_psess_sc",locationid);
}

function catalog_opt_yz(locationid,val){  // 注意下面还有2个 catalog_opt_yz函数 Onchange里 if语句里 一起改
	var tmp_code=new Array();
	var j=0
	/*	if (parseInt(locationid,36)==0){}*/
	if (locationid=="00"){var layer=1;}else{var layer=parseInt(locationid.length)/2+1;}
	if (layer>=max_layer){locationid=locationid.substr(0,max_layer*2);}
	var obj="select_box"+layer;
	$("#"+obj).nextAll().remove();
	if ($("#select_box"+layer).length==0 && layer<=max_layer){
		$("#select_box_view").append("<select name='select_box"+layer+"' id='select_box"+layer+"' size='10' onChange='catalog_opt_yz(this.options[this.selectedIndex].value,\"\")' class='select_box_select'></select>");	
	}
	$("#"+obj).empty();
	var normal_option="<option value='"+locationid+"'>선택하세요</option>";
	$("#"+obj).append(normal_option);
		for (var i=0;i <datas_fl.length; i++){
			//alert(datas_fl[i]["classid"]);
			//console.log(datas_fl[i]["fl_code"]);
		if (datas_fl[i]["fl_fcode"].substr(0,locationid.length) == locationid && datas_fl[i]["fl_code"].length==layer*2)
		{
			tmp_code[j]=datas_fl[i]["fl_code"].substr(datas_fl[i]["fl_code"].length-2,datas_fl[i]["fl_code"].length);
			//console.log(tmp_code[j]);
			var selected="";
			if (val!="" && val.substr(0,datas_fl[i]["fl_code"].length)==datas_fl[i]["fl_code"]){selected=" selected ";}
			$("#"+obj).append("<option value='"+datas_fl[i]["fl_code"]+"'"+selected+">"+datas_fl[i]["fl_name"]+"</option>");
			j++;
		}
	}
	if (val!="" && layer<=val.length/2 && layer<=max_layer){catalog_opt_yz(val.substr(0,layer*2),val);return false;}
	$("#fl_code").val(locationid);
	$(".editor").show();
	shezhi_psess("shezhi_psess_sc",locationid);  // 为了传递给k1110里的 文件夹名
}

function changelocation(locationid,val){
	var tmp_code=new Array();
	var j=0
	/*	if (parseInt(locationid,36)==0){}*/
	if (locationid=="00"){var layer=1;}else{var layer=parseInt(locationid.length)/2+1;}
	if (layer>max_layer){locationid=locationid.substr(0,max_layer*2-2);layer--;alert(max_layer+'차이상의 카테고리추가는 불가능합니다');}
	var obj="select_box"+layer;
	$("#"+obj).nextAll().remove();
	if ($("#select_box"+layer).length==0){
		$("#select_box_view").append("<select name='select_box"+layer+"' id='select_box"+layer+"' size='10' onChange='changelocation(this.options[this.selectedIndex].value,\"\")' class='select_box_select'></select>");	
	}
	$("#"+obj).empty();
	var normal_option="<option value='"+locationid+"'>선택하세요</option>";
	$("#"+obj).append(normal_option);
		for (var i=0;i <datas_fl.length; i++){
			//alert(datas_fl[i]["classid"]);
		if (datas_fl[i]["fl_fcode"].substr(0,locationid.length) == locationid && datas_fl[i]["fl_code"].length==layer*2)
		{
			tmp_code[j]=datas_fl[i]["fl_code"].substr(datas_fl[i]["fl_code"].length-2,datas_fl[i]["fl_code"].length);
			var selected="";
			if (val!="" && val.substr(0,datas_fl[i]["fl_code"].length)==datas_fl[i]["fl_code"]){selected=" selected ";}
			$("#"+obj).append("<option value='"+datas_fl[i]["fl_code"]+"'"+selected+">"+datas_fl[i]["fl_name"]+"</option>");
			j++;
		}
	}
	if (val!="" && layer<=val.length/2 && layer!=max_layer){changelocation(val.substr(0,layer*2),val);return false;}
	var tmp;
	for (i=1;i<=99;i++){
		var str="00"+(i.toString(10));
		str=str.substr(str.length-2,2);
		if ($.inArray(str,tmp_code)==-1)
		{
			tmp=(locationid+str);//.replace("00".toString(),"");
			break;
		}
	}
	if (layer==1){tmp=tmp.substr(2,layer*2);}
	$("#fl_code").val(tmp);
	$("#fl_fcode").val(locationid);
}

// 새 창
function popup_window(url, winname, opt){
	window.open(url, winname, opt);
}

// a 태그에서 onclick 이벤트를 사용하지 않기 위해	
function win_open(url, name, option){
	var popup = window.open(url, name, option);
	popup.focus();
}

// 우편번호 창
function win_zip_g4(frm_name, frm_zip1, frm_zip2, frm_addr1, frm_addr2){
	url = "zip.php?frm_name="+frm_name+"&frm_zip1="+frm_zip1+"&frm_zip2="+frm_zip2+"&frm_addr1="+frm_addr1+"&frm_addr2="+frm_addr2;
	win_open(url, "winZip", "left=150,top=150,width=570,height=460,scrollbars=1");
}

function newgdcode(obj,url) {
	obj.src = url+ '?nowtime=' + new Date().getTime();
}

function flash(s,i,w,h,t) { 
	document.write("<object classid=\"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\" codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0\" width="+w+" height="+h+" id="+i+"><param name=wmode value=opaque /><param name=movie value="+s+" /><param name=wmode value=opaque /><embed src="+s+" name="+i+" quality=high wmode="+t+" type=\"application/x-shockwave-flash\" pluginspage=\"http://www.macromedia.com/shockwave/download/index.cgi?p1_prod_version=shockwaveflash\" width="+w+" height="+h+"></object>");
};

//transparent
function FlashLoad(url,width,Height,wmode){
	var flashcode = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id=scriptmain name=scriptmain codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="'+width+'" height="'+Height+'">\
	<param name="movie" value="'+url+'">\
	<param name="quality" value="high">\
	<param name=scale value=noscale>\
	<param name="menu" value="false">\
	<param name="wmode" value="'+wmode+'">\
	<embed src="'+url+'" width="'+width+'" height="'+Height+'" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" salign="T" name="scriptmain" menu="false" wmode="'+wmode+'"></embed></object>';
	document.write(flashcode);
}


var OriginImage=new Image(); 
function GetImageWidth(oImage) 
{ 
if(OriginImage.src!=oImage.src)OriginImage.src=oImage.src; 
return OriginImage.width; 
} 
function GetImageHeight(oImage) 
{ 
if(OriginImage.src!=oImage.src)OriginImage.src=oImage.src; 
return OriginImage.height; 
} 


// 图片点击弹出窗口(gnu4)
////////////////////////////////////////////////////////////////////////////////////////////////////
function imgopen(img){ //imgopen

	var img_url = img.src;

	var w=GetImageWidth(img);
	var h=GetImageHeight(img);
	var img_width = w;//img.width;
	var img_height = h;//img.height;

	var winl = (screen.width-img_width)/2; 
	var wint = (screen.height-img_height)/3; 

if (img_width >= screen.width) { 
	winl = 0; 
	img_height = (parseInt)(img_width * (img_height / img_width)); 
} 

if (h >= screen.height) { 
	wint = 0; 
	img_width = (parseInt)(img_height * (img_width / img_height)); 
} 

var js_url = "<script language='javascript'>\n";
		js_url += "var ie = document.all; \n";
		js_url += "var nn6 = document.getElementById && !document.all; \n";
		js_url += "var isdrag = false; \n";
		js_url += "var x, y; \n";
		js_url += "var dobj; \n";
		js_url += "function movemouse(e){ \n";
		js_url += "if (isdrag) { \n";
		js_url += "dobj.style.left = nn6 ? tx + e.clientX - x : tx + event.clientX - x; \n";
		js_url += "dobj.style.top = nn6 ? ty + e.clientY - y : ty + event.clientY - y; \n";
		js_url += "return false; \n";
		js_url += "} \n";
		js_url += "} \n";
		js_url += "function selectmouse(e){ \n";
		js_url += "var fobj = nn6 ? e.target : event.srcElement; \n";
		js_url += "var topelement = nn6 ? 'HTML' : 'BODY'; \n";
		js_url += "while (fobj.tagName != topelement && fobj.className != 'dragme') { \n";
		js_url += "fobj = nn6 ? fobj.parentNode : fobj.parentElement; \n";
		js_url += "} \n";
		js_url += "if (fobj.className == 'dragme') { \n";
		js_url += "isdrag = true; \n";
		js_url += "dobj = fobj; \n";
		js_url += "tx = parseInt(dobj.style.left + 0); \n";
		js_url += "ty = parseInt(dobj.style.top + 0); \n";
		js_url += "x = nn6 ? e.clientX : event.clientX; \n";
		js_url += "y = nn6 ? e.clientY : event.clientY; \n";
		js_url += "document.onmousemove = movemouse; \n";
		js_url += "return false; \n";
		js_url += "} \n";
		js_url += "} \n";
		js_url += "document.onmousedown = selectmouse; \n";
		js_url += "document.onmouseup = new Function('isdrag=false'); \n";
		js_url += "var b1,b2; \n";
		js_url += "window.onload=function(){ \n";
		js_url += "var bbb=document.getElementById('aaa'); \n";
		js_url += "b1=bbb.width+20; \n";                    //调整宽度  根据浏览器不同。
		js_url += "b2=bbb.height+40; \n";                   //调整高度
		js_url += "window.resizeTo(b1,b2); \n";
		js_url += "}\n";
		js_url += "<\/script>\n";

		var settings;

		settings  ='width='+(w+10)+','; 
		settings +='height='+(h+10)+',';

		settings +='top='+wint+','; 
		settings +='left='+winl+','; 
		settings +='scrollbars=no,'; 
		settings +='resizable=yes,'; 
		settings +='status=no';

		win=window.open("","image_window",settings); 
		win.document.write ("<html><head><meta http-equiv='Content-Type' content='text/html; charset=utf-8' /><title>SHOW_IMG</title>\n"); 
		win.document.write ("<style>.dragme{position:relative; cursor:hand;}</style> \n"); 
		win.document.write (js_url); 
		win.document.write ("</head> \n\n"); 
		win.document.write ("<body leftmargin=0 topmargin=0 bgcolor=#000000>\n");
		win.document.write ("<img id='aaa' src='"+img.src+"' ondblclick='window.close();' class = 'dragme' /></body></html>\n"); 
		win.document.close();
}


var z_gs_qk = function(tgt,kongbai_top,kongbai_margin_top,yidong){ // 名字得不同,要不上下紧接一起时候叠加了
	// 虽然是4个参数 不过 kongbai_top,kongbai_margin_top,yidong 这些没用, 只是为了不能相同名而分开 才得必须有
	// z_gs_qk("z_gy_qk1"); 一个参数就够了
	kongbai_top = parseInt($(tgt).css("top"));  // 只要数字,去掉px 
	kongbai_margin_top = parseInt($(tgt).css("margin-top"));
	$(window).scroll(function(){
		yidong = $(window).scrollTop()+kongbai_margin_top;
		if( (window.scrollY) != kongbai_top ){  // (window.scrollY) >= kongbai_top 这样ie9不运转
			$(tgt).stop(true).animate({"margin-top":yidong},500);
		}else{ }
	})
}

function z_gs_top_gd(tgt, height){
	$(document).on("scroll",function(){
		if ($(document).scrollTop()<=height){  // $(tgt).height() // 用的是class
			$(tgt).hide();
		}
		if ($(document).scrollTop()>=height){
			$(tgt).show();
		}
	});
}

function z_ydc(tgt){
	$(tgt).mousedown(function(e){		
		$("body").bind("selectstart",function(){return false;});
		$(tgt).data("clickX",e.pageX - $(tgt).offset().left).data("clickY",e.pageY - $(tgt).offset().top);
		if($(document).scrollTop()!=0){ $(tgt).data("clickY",e.pageY - $(tgt).offset().top + $(document).scrollTop()); }
		$(document).mousemove(function(e){
			$(tgt).css({
				"left":e.pageX - $(tgt).data("clickX")+"px", 
				"top":e.pageY - $(tgt).data("clickY")+"px"
				}); 			
		}).mouseup(function(){
			$("body").unbind("selectstart");
			$(document).unbind("mousemove");
		});
	})	
}


function z_tcc_nr(tgt){ 
	var z_jb_tmbj_html_xs_nr = $(tgt).html();
	$(".z_jb_tcc_tmbj_nr").fadeIn(0);
	$(".z_jb_tcc_tmbj_xs_nr_01").html(z_jb_tmbj_html_xs_nr);
	var top = ($(window).height() - $(".z_jb_tcc_tmbj_xs_nr").height()) / 2;
	var left = ($(window).width() - $(".z_jb_tcc_tmbj_xs_nr").width()) / 2;			
	$("body").css({"overflow-x":"hidden","overflow-y":"hidden"});
	$(".z_jb_tcc_tmbj_xs_nr").css({"top":top,"left":left});
	$(".z_jb_tcc_tmbj_xs_nr_gb").on("click", function(){
		$(".z_jb_tcc_tmbj_nr").fadeOut(0);
		$("body").css({"overflow-x":"visible","overflow-y":"visible"});
		//$("html,body").css({"overflow-x":"visible","overflow-y":"visible"});
	});
}

 

 기존에 쓰던 g4560 cpu 의 성능에 만족하지 못하여 업그레이드를 하려던 찰나에 타오바오에서 신기한 cpu를 발견하였다.

 배송 대행지 비용 포함 6만원 안으로 6700k 수준의 성능을 맛볼 수 있다고 한다. 물론 이 CPU는 엔지니어링 샘플이라서 초기 버그같은 것들이 있을 수 있지만 카비레이크 ES는 거의 리비전이 없었다. A0 리비전 다음으로 바로 QS 레벨의 ES cpu 가 출시되었을 정도로 안정화된 cpu 이였기 때문에 가격적인 매리트에 빠져들어 구매해버렸다. 이후 2주 뒤 집 앞 대문에 반갑게 맞이하고 있었다. 

이 cpu는 특이하게 노트북용을 데스크탑에서 이용할 수 있도록 개조되었다. 그래서 기존의 CPU 설치방법하고는 다른 방식으로 설치해야한다. 또한 CPU 특성상 ES cpu 에 맞는 개조된 바이오스를 설치해야하는데 셀러에게 자신이 가지고 있는 메인보드의 바이오스파일을 보내주면 무료로 개조해준다. 참고로 셀러가 해주는 바이오스 개조는 기존 바이오스에 저 CPU에 맞는 마이크로코드를 삽입해준 후 ME 펌웨어를 저 CPU에 호환되는 것으로 교체해주는 작업이 포함되어 있다.

일단 이 바이오스를 이 CPU를 설치하기전 플레슁 해줘야한다. 다행이 내가 사용하고 있는 기가바이트 메인보드는 개조된 바이오스를 윈도상에서 플레슁이 가능하여 편리하게 바이오스 교체가 가능했다. 에즈락이나 아수스는 커피레이크 개조때처럼 SPI 프로그래머를 이용하여 바이오스 교체를 해야한다.

 

 이렇게 개조 바이오스로 교체한 뒤에 먼저 기존의 메인보드에 달려있는 CPU 설치 가이드를 별자 드라이버로 제거해야한다. 이후 저 CPU를 방향에 맞게 설치한 뒤에 맨 위에 있는 특수제작된 가이드를 제공된 나사로 조여서 설치하면 된다. 

처음에 받았을 때 CPU 다이부분에 풀 같은것이 묻어 있어서 제거후 설치하였다

다행이 정상적으로 부팅이 완료되었고 CPU-Z에서는 다음과 같이 정보를 보여주었다. 

 

기본 클럭이 2.4ghz로 ql3x의 규격을 확인할 수 있다.

 이 CPU의 가장 큰 장점은 기존의 6400t 엔지니어링 샘플과 달리 non-Z보드에서도 오버클럭이 가능하다는 것이다. 그것도 blck같은 시스템 전반적인 안정성을 다소 희생해야하는 오버클럭으로 진행되는 것이 아닌 Multiplier로 정석적인 오버클릭이 무려 non-Z보드에서 가능하다. 이렇게 할 수 있는 이유는 이 CPU가 데스크탑용이 아닌 노트북용이기 때문에 노트북쪽 Turbo Boost 기능이 지원되어 무제한적인 배수언락이 되어 있다. 개인적으로는 Non-Z에서 오버가 된다는 것 자체가 나의 호기심을 자극해버렸기 때문에 질러버린면이 어느정도 있다.

 

 다만 저 클럭상태를 유지하기 위해서 0.12v 정도 오버를 해야했다. 이보다 더 큰 문제는 내 시스템에서는 저 클럭에서 100% 성능 발휘가 안된다는 점이였다. H110 보드 답게 전원부가 매우 부실하였기 때문이다.

 

너무나도 부실한 h110 보드의 전원부

 

 다행이 CPU-Z의 AVX로드에서는 쓰로틀링이 일어나지 않았지만 OCCT에서는 전원부 쪽에 Thermal Limit 가 걸려버려 클럭이 떨어지는 현상을 발견하였다. 그래도 평소에는 리미트가 걸리는 경우는 본적이 없어 이대로 쓸 예정이다. 

 

i7-6700k 수준의 성능을 보여주고 있다

 

OCCT로딩하자마자 Thermal Throttling 이 아닌 Power limit 가 먼저 걸려버린다. 클럭도 3.7로 떨어져버린다.

 

 이 CPU는 추천하기에는 단점들이 너무 많은 CPU이다. 필자가 알고 있는 것들만 나열해보자면

 

  • CPU 보안 업데이트를 받을 수 없다. ES용 마이크로코드는 보안결함 발생시 업데이트 해주지 않는다.
  • CPU 설치하는 것이 복잡하다. 바이오스 교체도 힘들고 설치하는 방법도 번거롭다.
  • PCI-E 레인이 1.0 밖에 지원되지 않는다. 고성능 GPU하고 장착시 대여폭에 의한 성능저하 가능성이 많다.
  • CPU 이름이 0000 으로 나타나기 때문에 일부 앱에서 이로인한 호환성문제가 생길 수 있다.
  • CPU가 해외에서만 팔기 때문에 CPU 초기결함시 대처할 수 있는 방법이 없다. 고장시 그래로 돈 버리는거다.

그래도 일단 설치만 잘 된다면 장점도 어느정도 있는편이다.

 

  • 안정적인 오버클럭을 Non-Z 보드에서도 할 수 있다. 물론 전원부가 튼실해야한다.
  • 카비레이크 기반이라서 내장그래픽이 유튜브 영상 가속을 지원해준다. 즉 사무용으로 최적의 CPU이다.
  • 노트북 CPU 특성상 다이가 그대로 노출되어 있다. 기본 쿨러로 오버를 조금 할 수 있을 정도로 쿨링에 유용하다.
  • 6700k 업자 매입값이 20만원이 넘을 정도로 창렬하다. 그 창렬한 CPU의 성능을 체험해볼 수 있다.
  • 생각보다 실생활에서 쓰기 좋을 정도로 안정적인 것 같다. 역시 카비레이크는 스카이레이크 리프레쉬인듯 하다.
  • PCI-E레인으로 태클걸면 환불도 받을 수 있다. 130위엔정도 환불받아 더욱더 가성비가 좋아져 버렸다.

종합하면 서브컴 실험용으로 쓰기 아주 좋은 ES CPU 이였던 것 같다.

 

최근에 타오바오에서 구메한 물건이 설명하고 다른 점이 있어서 부분환불을 원했다. 그러나 셀러가 부분 환불을 거부하여 중재센터에 요청하고자 하였으나 요청이 진행이 안된다. 알고보니 PC버전은 버그가 있어서 중재센터로 요청이 안되는 것이다. 모바일로 하기에는 구글 번역기가 제대로 돌아가지 않아 모바일버전으로 대신 중재센터로 진행 할 수 있었다.

 

먼저 크롬브라우저로 

https://h5.m.taobao.com/alicare/index.html

 

客服小蜜

 

h5.m.taobao.com

위 모바일 버전용 웹사이트에 접속한다. 이때 기존에 타오바오에 로그인 된 상태여야 사용하기가 편하다. 그러나 이상태에서는 환불 진행을 할 수 없다. 모바일 버전에 최적화되어 PC에서의 클릭 입력이 적용되지 않기 때문이다. 그래서 한과정을 더 거쳐야 한다.

 

위 사이트에 들어간 뒤에 F12키를 누른다.

 

위 도구에서 형광색 표시를 한 버튼을 누르면 된다. 이 버튼을 누르면 웹사이트가 마치 모바일 사이트를 이용하는 것 처럼 레이아웃이 바뀐다. 이 상태에서 마치 스마트폰을 이용하는 것 처럼 구글 번역기를 사용하여 환불진행을 하면 된다.

 

참고로 위 웹사이트의 중재센터 신청은 먼저 셀러가 환불을 거부한다는 말을 중국어로 번역하여 입력한다. 이후 채팅창에서 중재를 원하는 제품을 선택하게 하는데 선택후 노란색 버턴을 누르면된다. 이후는 번역기를 통하여 충분히 진행이 가능하다고 생각한다.

+ Recent posts