내 블로그 목록

레이블이 script인 게시물을 표시합니다. 모든 게시물 표시
레이블이 script인 게시물을 표시합니다. 모든 게시물 표시

금요일, 9월 04, 2009

주민번호 앞자리에서 뒷자리로 자동이동

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<script language="javascript">
function moveNext(varControl, varNext)
{
if(varControl.value.length == varControl.maxLength)
{
varNext.focus();
varNext.select();
}
}
</script>
</HEAD>
<body>
<form>

<input type="text" name="jumin1" size="6" Maxlength="6" OnKeyUp="moveNext(this, jumin2);">
<input type="text" name="jumin2" size="7" Maxlength="7" OnKeyUp="moveNext(this, jumin1);">
</form>
</body>
</html>

Validation 체크

주민번호, NULL 값, email 등 최고의 Validation Check

 

http://maniacamp.com/bbs/viewforum.php?f=6

 

http://myhome.hanafos.com/~laintt13/validate/validate_howto.htm

 

http://myhome.hanafos.com/~laintt13/validate/validate_test.htm

 

http://laintt.net/v04/jslib/validate/0_2_0/

[JavaScript] try ... catch ... 사용하기

..

Java와 같이 JavaScript에서도 try, catch 를 쓸수 있더군요..

 

(그런데...NE, IE간의 약간의 문법적 차이가 있어서, 주로 사용하는 IE 5.0으 경우를 듭니다)

 

사용법은..

 

try {

   // 문장....

  

} catch (e){

   alert (e);

}

 

이렇다.

 

catch는 try내에서 에러가 발생하였을때, 모든 에러를 잡아낸다..

잡힌 에러의 타입은 throw로 던진 에러의 타입이 되는데, 잘못된 변수등이나 시스템 에러의 경우

Error 라는 객체로 넘겨지게 된다.

 

Error는 속성으로 number와 description를 제공하는데, 이는 에러코드와 설명을 의미한다..

만일

 

try{

   windowsss.open();

} catch (e){

   alert ("code:" + e.number +",설명:" + e.description);

}

 

와 같이 window를 실수로 windowsss로 오타를 입력했을때, 발생되는 에러이다.

 

try{

  throw "hello world";

} catch (e){

  alert (e);

}

와 같은 코드에서는, 경고창에서 "hello world"를 볼수 있다.

 

그런데, catch문 내에서 잡혀진 에러에 따라 처리를 따로 하고 싶다면 다음과 같은 코드를 이용할 수 있다.

 

 if (e instanceof Error){

    alert ("시스템에러:" + e.description);

 } else if (typeof(e) == "string"){

    alert ("문자열에러:" + e);

 } else {

     alert (e);

 }

 

참고

http://www.webreference.com/js/column38/index.html

Javascript 주민등록번호로 성, 연령(성인-아동-유아) 체크하기

  첨부파일 (1)
 
 
위와 같이 주민번호로 나이, 성별, 연령대를 분리해 내는 소스입니다.
2000년 대 이후의 아이들에 대해서도 체크됩니다.
 
이해를 돕기 위해 주민등록번호 자체를 검증하는 것과 자질구레한 것들은 일단 뺐습니다.
------------------------------------------------------------------------------------
-- 유아(INFANT) : 24개월까지(2살)
-- 아동(CHILD) : 2살~12살
-- 성인(ADULT) :  13살 이상
------------------------------------------------------------------------------------
* 상기 구분은 국제항공예약과 호텔 예약에 대한 표준에 따른 분류법입니다.  
 ------------------------------------소스------------------------------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
 <HEAD>
  <TITLE> 주민등록번호로 구분하기 </TITLE>
 </HEAD>
 <BODY>
  <!--입력한 주민번호로 나이와 성별을 알아보는 스크립트 시작-->
<SCRIPT language="JavaScript">
<!--주민번호 스크립트 끝-->
Now = new Date();    //현재 연도를 구함
NowYear = Now.getFullYear(); //나이를 구하는 함수 시작
function getAge()    
{        
var jfm = document.jumin_form
var j1=jfm.jumin1.value; //앞 6자리에 입력한 값을 j1 에 대입
var j2=jfm.jumin2.value; //뒤 7자리에 입력한 값을 j2 에 대입
var n1=j1.substr(0,2);      //앞 6자리에 입력한 값중 앞에서 두글자를 n1 에 대입
var n2=j2.substr(0,1);      //뒤 7자리에 입력한 값중 맨앞의 글자를 n2 에 대입( 1~4)
 if((n2==1)||(n2==2)){     //뒤 첫째값이 1, 2일 경우(1900년대에 출생한 남녀)
 jfm.age.value=(NowYear-(1900 + Number(n1)));
 }
 if ((n2==3)||(n2==4)){     //뒤 첫째값이 3, 4일 경우
 jfm.age.value=(NowYear-(2000 + Number(n1)));
 }
 if ((n2==1)||(n2==3)){     //뒤 7자리에 입력한 값중 맨앞의 수가 1이나 2일 경우(남자)
 jfm.sex.value="남성";
 }
 if ((n2==2)||(n2==4)){     //뒤 7자리에 입력한 값중 맨앞의 수가 3이나 4일 경우(여자)
 jfm.sex.value="여성";
 }
 if (document.jumin_form.age.value <=  2 ){     // 유아 24개월까지
 jfm.age_class.value="유아";
 }
 if (jfm.age.value >  2 || jfm.age.value <=  12 ){     // 아동
 jfm.age_class.value="아동";
 }
 if (jfm.age.value >  12 ){     // 성인-12세 이상
 jfm.age_class.value="성인";
 }
}
//-->
</script>
<!--입력한 주민번호로 나이와 성별을 알아보는 스크립트 끝-->
<!--아래와 같이 폼 태그를 구성하세요-->
<form method="get" name="jumin_form">
주민등록번호 입력:
<input type="text" maxlength="6" name="jumin1" size="7">-
<input type="text" maxlength="7" name="jumin2" size="8">
<input name="send" type="button" value="나이 알아보기" onClick="getAge()"><br>
<HR>
당신은 <input type="text" name="age" value="" size="3">살의
<input type="text" name="sex" value="" size="3">
<input type="text" name="age_class" value="" size="3"> 입니다.
</form>
<!--폼구성 설정 끝-->
</BODY>
</HTML>

3개월 달력

간단하면서도 잘 만들어진 3개월 달력입니다.

아래의 스크립트를 BODY 사이에 넣으시면 됩니다.

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

/*
3개월 달력 스크립트 - Ada Shimar (adashimar@chalktv.com)
다음 싸이트에서 찾을 수 있습니다 : http://www.javascriptkit.com/
*/

// 달력의 bgcolor를 설정
var bg="#FFFFE1"

// font size 설정
var fs=2

var flg = 0;
//var fs = 1;
M = new Array("1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월");
D = new Array("일","월","화","수","목","금","토");
function getBgn() {
pdy = new Date();        // 오늘
pmo = pdy.getMonth();    // 금월
pyr = pdy.getYear();     // 금년
if (pyr < 2000)    // Y2K Fix, Isaac Powell
pyr = pyr + 1900; //
yr = yr1 = (pmo==0?pyr-1:pyr); // 전년도
mo = (pmo==0?11:pmo-1);  // 전월
bgn = new Date(M[mo]+" 1,"+yr1); // Date에 할당
document.write('<TABLE BORDER=0><TR><TD VALIGN=TOP>');
Calendar();           // 마지막 달을 화면에 출력
document.write('</TD><TD VALIGN=TOP>');
yr = pyr;                // 금년
mo = pmo;                // 금월
bgn = new Date(M[mo]+" 1,"+yr); // date에 할당
Calendar();           // 이번 달을 화면에 출력
document.write('</TD><TD VALIGN=TOP>');
yr = (pmo==11?pyr+1:pyr); // 다음 달의 년도
mo = (pmo==11?0:pmo+1);   // 다음 달
bgn = new Date(M[mo]+" 1,"+yr); // date에 할당
Calendar();           // 다음 달을 화면에 출력
document.write('</TD></TR></TABLE>'); // 종료
}
function Calendar(){
dy = bgn.getDay();
yr = eval(yr);
d = "312831303130313130313031";
if (yr / 4 == Math.floor(yr / 4)) {
d = d.substring(0, 2) + "29" + d.substring(4, d.length);
}
pos = (mo * 2);
ld = eval(d.substring(pos, pos + 2));
document.write("<TABLE BORDER=1"
+ " BGCOLOR='" + bg
+ "'><TR><TD ALIGN=CENTER COLSPAN=7>"
+ "<FONT SIZE=" + fs + ">" + M[mo] + " " + yr
+ "</FONT></TD></TR><TR><TR>");
for (var i = 0;i < 7;i ++) {
document.write("<TD ALIGN=CENTER>"
+"<FONT SIZE="+fs+">" + D[i] + "</FONT></TD>");
}
document.write("</TR><TR>");
ctr = 0;
for (var i = 0;i < 7; i++){
if (i < dy) {
document.write("<TD ALIGN=CENTER>"
+"<FONT SIZE=" + fs + "> </FONT>"
+"</TD>");
}
else {
ctr++;
document.write("<TD ALIGN=CENTER>"
+ "<FONT SIZE=" + fs + ">" + ctr + "</FONT>"
+ "</TD>");
   }
}
document.write("</TR><TR>");
while (ctr < ld) {
for (var i = 0;i < 7; i++){
ctr++;
if (ctr > ld){
document.write("<TD ALIGN=CENTER>"
+ " </TD>");
}
else {
document.write("<TD ALIGN=CENTER>"
+ "<FONT SIZE=" + fs + ">" + ctr + "</FONT>"
+ "</TD>");
   }
}
document.write("</TR><TR>");
}
document.write("</TR></TABLE>");
}

</SCRIPT>

<CENTER>
<P><B>JavaScript 3개월 달력</B>
<SCRIPT LANGUAGE="JavaScript">

getBgn();

</SCRIPT>
</CENTER>

<p align="center"><font face="arial" size="-2">This free script provided by</font><br>
<font face="arial, helvetica" size="-2"><a href="http://javascriptkit.com">JavaScript Kit</a></font></p>

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

출처 : http://www.javascriptkit.com/script/script2/quartercalendar.shtml

수요일, 9월 02, 2009

민주당의 집권과 일본을 다시 생각하며 ...

2009년 8월 총선에서 300석이 넘는 압승으로 민주당에 의해 정권이 교체되기 전까지 일본은 완전극우 시스템이었다. 정치에 대한 환멸은 젊은층들의 정치불신으로 이어졌고, 결국은 그들도 투표 자체를 외면하게 되었다. 그것이 자신들에게 부메랑으로 돌아올 줄도 모른 채 ...

일본 젊은이들 대부분 정치에 관심도 없으며, 독도가 뭔지 모르고, 관심도 없다. 요즘은 많이 알려졌지만 ...

 

일본도 사람사는 세상

일본을 극도로 싫어한 나는 일본 자체는 가기도 싫고 접하기도 싫었다. 그러다가 일본을 알아야 제대로 미워할 것 아니냐는 와이프의 권유에 처음으로 일본을 방문했다. 그것도 비자 면제가 된 그 달에 지인방문으로 말이다.

일본에 가서 놀란 것은 내가 생각하는 일본과는 너무도 달랐다는 것이다. 내가 생각하는 일본과 일본 사람은 다음과 같은 공식이었다.

"일본 = 일본사람 = 극우"

그러나 내가 만나 본 많은 중산층들은 그런 공식과는 거리가 먼 사람들이었다. 오히려 한류에 열광하는 그런 사람들이 바로 일본의 중산층이었다. 우리가 접하는 보통 사람들은 그저 평범한 이웃에 불과했다. 우리가 일본의 실체라고 알고 있는람들은 중상류 계층과 특권층을 말하는 우익계통이고, 특히 공업이나 대기업의 총수들 등 일본을 움직이는 극히 일부만이 우익이라는 범주였다.

그래서 나는 일본 일주를 해보았고, 그들의 풍부한 문화유산에 깜짝 놀랐다. 전화를 겪지 않은 일본은 가장 많은 원형의 문화를 잘 보존해 두었다. 한가지 놀란 것은 중국만 그런 것이 아니라, 일본의 문화도 한국과는 너무도 많이 달랐다는 것이다. 서구 문물을 받았들였음에도 불구하고 자신들의 전통은 샘날 정도로 너무나 잘 보존하고 있었다는 것이다.


새겨볼만한 일본 근대사

관심을 가지고 메이지 유신 이후의 일본사들을 죽 살펴보았다. 가장 이해하기 쉬운 자료는 만화, 소설인데 내가 처음 선택한 것은 바로 "용마(료마)가 간다"라는 만화책이었다.



이 만화를 살펴보면, 왜 조선이 그렇게 무기력하게 일본에 잡아먹힐 수 밖에 없는 이유를 알 수 있다. 일본도 서양문물을 강제로 받아들였지만, 그것을 접하는 태도가 달랐기 때문에 세계2차대전을 일으킬만큼의 국력과 지식을 축적할 수 있었다.

 

일본 근대사를 차분하게 새겨볼만한 작품들로는 영화 "라스트 사무라이"라던가 만화 "닥터 노구치"도 도움이 될만한 작품이다.


누구치 히데요 (1876~1928), 1911년 노벨 의학상 후보자로 선정된다.

(2004년 새로 만들어진 1천엔 화폐에 등장한 노구치 히데요. 닥터 노구치의 실제인물)


일본 근대사를 보면, 죽지 않고 부활한 일본 우익과 국민들의 생활을 이해할 수 있다. 솔직히 일본 대단한 나라다. 세계경제규모 2위와 국력에서도 엄청난 잠재력이 숨어 있고, 자연자원, 문화자원, 역사자원까지 만만치 않다.

 

일본을 제대로 이해하려면, 배척만 하지말고 일본을 직접 경험해 봐야 한다. 후쿠오카에 내려서 공항에서 버스정류장 심지어는 백화점에까지 한글로 안내되어 있는 것을 보고 나는 식은 땀이 흘렀다. 정부는 정부고, 민간은 한국인의 주머니 하나까지 털 준비가 되어 있었다.