반응형

[2021.04.23]
※XML 데이터를 받아오면 데이터를 파싱해서 가져와야 합니다.
<부모이름>
<자식></자식>
<자식></자식>
<자식></자식>
</부모이름>

이런식의 XML이 있을 경우 부모 이름을 먼저 가져온 다음 반복문으로 나머지 자식 데이터를 가져와야 합니다.

EX)

function fnXmlParsing(vXML){

	//AUMEL
	console.log($(vXML).find('XML부모이름').text());

	//alert($(vXML).find('동일한 부모 이름').length);
	//여러개
	$(vXML).find('동일한 부모 이름').each(function(){ // Jquery 반복문인 each를 사용 하였습니다.
		console.log($(this).find("xml 자식 이름").text());
		console.log($(this).find("xml 자식 이름").text());
		console.log($(this).find("xml 자식 이름").text());
		console.log($(this).find("xml 자식 이름").text());
		console.log($(this).find("xml 자식 이름").text());
		console.log($(this).find("xml 자식 이름").text());
		console.log($(this).find("xml 자식 이름").text());
		console.log($(this).find("xml 자식 이름").text());
		console.log($(this).find("xml 자식 이름").text());
		console.log($(this).find("xml 자식 이름").text());
		console.log($(this).find("xml 자식 이름").text());
		console.log($(this).find("xml 자식 이름").text());
	});
}
반응형

<google api 이용하여 알아내기>

 

[javascript] 자바스크립트로 내 IP확인하기_(공인ip)

 

1. 코드 공개

 

 

 

<script>

document.write( ip() );

</script>

 

아래에, 전체 코드를 작성하였습니다. 

구글과 네이버검색을 많이 이용하는데 

블로그에서 이렇게 적어주는게 편한 기억이 많았습니다^^

 

2. 예제

파일명 : index.html

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>인덱스 페이지</title>

 

</head>

<body>

<script>

document.write( ip() );

</script>

</body>

</html>

 

 

$.getJSON('http://jsonip.appspot.com/?callback=?', function(data){ alert(data.ip); });

Probably easier to understand - an alternative, without jQuery, would be:

<script type="text/javascript"> function getip(data){ alert(data.ip); } </script> <script type="text/javascript" src="http://jsonip.appspot.com/?callback=getip"> </script>

Note that when you include http://jsonip.appspot.com/?callback=getip as a script in your HTML you get valid JavaScript as response:

getip({"ip": "147.234.2.5", "address":"147.234.2.5"});

-------------------------------------------------------------------------------

기타 사이트

 

$.get("http://ipaddress.urgulbook.com/",function(res){

    alert(res.IP);

},"jsonp");

 

 

JAVASCRIPT 접속 IP 확인하는 방법

 

 

자바스크립트로 클라이언트 IP를 확인하는 방법입니다.

 

PHP 같은 서버사이드 언어에서는 $_SERVER['REMOTE_ADDR'] 로 확인할 수가 있지만,

 

자바스크립트에서는 제공하는 함수가 없습니다.

 

아래예제는 서버사이드의 js를 호출하는 방식으로 IP를 가져오는 방법입니다.

 

 

▶ jQuery 방식

 

<script type="text/javascript" src="//code.jquery.com/jquery.min.js"></script>

<script type="text/javascript">

$(function() {

$.getJSON("https://api.ipify.org?format=jsonp&callback=?",

function(json) {

document.write(json.ip);

}

);

});

</script>

 

 

▶ JAVASCRIPT 방식

 

<script type="text/javascript">

function getIP(json) {

document.write(json.ip);

}

</script>

 

 

https://www.ipify.org/ 여기에 가면 언어별 사용예제가 있습니다.



출처: https://littlecarbb.tistory.com/entry/JAVASCRIPT-접속-IP-확인하는-방법 [Shameless Simon]

출처: https://littlecarbb.tistory.com/entry/JAVASCRIPT-접속-IP-확인하는-방법 [Shameless Simon]

출처: https://littlecarbb.tistory.com/entry/JAVASCRIPT-접속-IP-확인하는-방법 [Shameless Simon]

반응형

세션 (session)

//세션에 값 입력
sessionStorage.setItem([ ID, data );
//세션 값 출력
sessionStorage.getItem( ID );
//세션 값 삭제
sessionStorage.removeItem( ID );

 

쿠키 (Cookie)

//쿠키 생성 
function _fnSetCookie(name, value, hours) {
    if (hours) {
        var date = new Date();
        date.setTime(date.getTime() + (hours * 60 * 60 * 1000));
        var expires = "; expires=" + date.toGMTString();
    } else {
        var expires = "";
    }
    document.cookie = name + "=" + value + expires + "; path=/";
}


//쿠키 값 입력 

function _fnGetCookie(cookie_name) {
    var x, y;
    var val = document.cookie.split(';');

    for (var i = 0; i < val.length; i++) {
        x = val[i].substr(0, val[i].indexOf('='));
        y = val[i].substr(val[i].indexOf('=') + 1);
        x = x.replace(/^\s+|\s+$/g, ''); // 앞과 뒤의 공백 제거하기
        if (x == cookie_name) {
            return unescape(y); // unescape로 디코딩 후 값 리턴
        }
    }
}


//쿠키 삭제하기

function _fnDelCookie(cookie_name) {
    document.cookie = cookie_name + '=; expires=Thu, 01 Jan 1999 00:00:10 GMT;';
}

 

반응형

/^[!$^()-_0-9a-zA-Z!$^()-_]([-_.]?[!$^()-_0-9a-zA-Z!$^()-_])*@[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*/i;

 

!$^()-_ 문자 숫자 사이 !$^()-_      @ 문자만 가능하게 한 정규식

 

ex) !$-_abc-_@naver.com 

 

반응형
function fnSetEmailHidden(value){

    if (value.indexOf("@") != -1) {
        var vValue = value.split("@");

        if (vValue[0].length < 4) {
            var vResult = vValue[0];
            vResult = vResult.substring(0, vResult.length - 1);
            vResult += "'@";
            vResult += vValue[1];

            return vResult;
        }
        else {
            var vResult = vValue[0];
            vResult = vResult.substring(0, vResult.length - 3);
            vResult += "'''@";
            vResult += vValue[1];

            return vResult;
        }
    }
    else
    {
        alert("이메일을 찾을 수 없습니다.\n@누락");
        console.log("@가 없습니다.");
    }    
}

 

해당 건은 이메일을 value로 받았을 때

@를 나누고

아이디 값의 마지막 3글자를 가리기 위한 함수입니다.

 

응용하면 원하는 숫자만큼을 가릴 수 있습니다.

반응형

object명.constructor.name

 

ex)

Json형태일때

 

obj.TEST[0].constructor.name 하면 0번째 있는 것의 type을 가져올 수 있다. (array가 object이면 object / file => file로 가지고 온다)

 

 

p.s 익스플로러에서는 사용 할 수 없습니다.

 

반응형

[2021.05.07]
※2019년에 FullCalendar를 커스터마이징을 하였고 버전은 'v3' 버전을 이용하였습니다. 
현재 v5버전까지 나온것으로 확인되며, v3 버전은 아래 도메인에서 받을 수 있습니다. 

github.com/fullcalendar/fullcalendar/releases/tag/v3.10.2

 

Release v3.10.2 · fullcalendar/fullcalendar

Legacy v3-only fix. Compatibility with jQuery 3.5.0 (#5391, #5348)

github.com

 

처음에 생성된 fullcalendar는 삭제하고, 재 생성 해주는 것으로 다시 그려줄 수 있습니다.

//기존 FullCalendar 삭제
$('#calendar').fullCalendar('destroy'); //달력 삭제

//FullCalendar 달력 재 생성
$('#calendar').fullCalendar({  // 달력 재 생성
    height: 700,
    header: {
      //center: 'prev,title,next', 여기에 select 값을 보내서 달력 이동 할 수 있게.
      left: null,
      center: 'title',
      right: null
    },
    defaultDate: "YYYYMMDD", //20200101 숫자가 들어가야됩니다. 
    editable: true,
    eventLimit: true,
    monthNames: ["1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월"],
    monthNamesShort: ["1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월"],
    dayNames: ["일요일", "월요일", "화요일", "수요일", "목요일", "금요일", "토요일"],
    dayNamesShort: ["일", "월", "화", "수", "목", "금", "토"],
    buttonText: {
      today: "오늘",
      month: "월별",
      week: "주별",
      day: "일별"
	}
});

 

반응형

[2021.05.07][2021.05.07]
※2019년에 FullCalendar를 커스터마이징을 하였고 버전은 'v3' 버전을 이용하였습니다. 
현재 v5버전까지 나온것으로 확인되며, v3 버전은 아래 도메인에서 받을 수 있습니다. 

github.com/fullcalendar/fullcalendar/releases/tag/v3.10.2

 

Release v3.10.2 · fullcalendar/fullcalendar

Legacy v3-only fix. Compatibility with jQuery 3.5.0 (#5391, #5348)

github.com

먼저 FullCanlendar는 처음에 생성 될 때 옵션 값들을 넣어서 설정하는 것으로 달력을 html 해서 그려줍니다.

저는 Cell 클릭시 새로운 영역을 보여주기를 원했고, 설정에서는 어떻게 사용해야 되는지를 알 수 없어서 API를 뜯었습니다.

 

DayTableMixin.prototype.renderBgCellHtml로 api를 검색하여 Cell이 그려질 때 마다 Onclick 이벤트의 함수를 넣어서 사용 할 수 있게 하였습니다.

DayTableMixin.prototype.renderBgCellHtml = function (date, otherAttrs) {
        var t = this;
        var view = t.view;
        var isDateValid = t.dateProfile.activeUnzonedRange.containsDate(date); 
        var classes = t.getDayClasses(date);
        classes.unshift('fc-day', view.calendar.theme.getClass('widgetContent'));
        
        //※ td에 Onclick 이벤트를 주었습니다.
        return '<td class="' + classes.join(' ') + '" onclic="Test()"  ' + 
            (isDateValid ?
                ' data-date="' + date.format('YYYY-MM-DD') + '"' : 
                '') +
            (otherAttrs ?
                ' ' + otherAttrs :
                '') +
            '>' +         
			'</td>';
    };

td의 onclick 이벤트를 주어서 클릭 할 때마다 원하는 함수를 사용 할 수 있게 만들었습니다.

 

name이나 class로 데이터를 넣는다면 아래와 같이 이벤트를 할 수 있을 것 같습니다. (이것은 해보지는 않았습니다.)

※새롭게 생성되는 html일 경우 아래와 같이 사용 하여야 이벤트를 잡을 수 있습니다.

$(document).on("click","생성된 클래스 or 네임",function () {
	//소스 코딩
});

 

 

질문이 있으시면 댓글로 남겨주세요~

+ Recent posts