(1) ^ (caret)
라인의 처음이나 문자열의 처음을 표시

예 : ^aa (문자열의 처음에 aa를 포함하면 참, 그렇지 않으면 거짓)

(2) $ (dollar)
라인의 끝이나 문자열의 끝을 표시

예 : aaa$ (문자열의 끝에 aaa를 포함하면 참, 그렇지 않으면 거짓)

(3) . (period)
임의의 한 문자를 표시

예 : ^a.c (문자열의 처음에 abc, adc, aZc 등은 참, aa 는 거짓)
예 : a..b$ (문자열의 끝에 aaab, abbb, azzb 등을 포함하면 참) 

(4) [] (bracket)
문자의 집합이나 범위를 나타냄, 두 문자 사이의 범위는 "-" 사용. 
[]내에서 "^"이 선행되면 not을 나타냄

예 : [abc] (a, b, c 중 어떤 문자, "[a-c]."과 동일)
예 : [Yy] (Y 또는 y)
예 : [A-Za-z0-9] (모든 알파벳과 숫자)
예 : [-A-Z]. ("-"(hyphen)과 모든 대문자)
예 : [^a-z] (소문자 이외의 문자)
예 : [^0-9] (숫자 이외의 문자)

(5) {} (brace)
{} 내의 숫자는 직전의 선행문자가 나타나는 횟수,범위를 나타냄

예 : a{3} ('a'의 3번 반복인 aaa만 해당됨)
예 : a{3,} ('a'가 3번 이상 반복인 aaa, aaaa,  ... 등을 나타냄) 
예 : a{3,5} (aaa, aaaa, aaaaa 만 해당됨) 
예 : ab{2,3} (abb와 abbb 만 해당됨) 
예 : [0-9]{2} (두 자리 숫자) 
예 : doc[7-9]{2} (doc77, doc87, doc97 등이 해당) 
예 : [^Zz]{3} (Z와 z를 포함하지 않는 5개의 문자열, abc, ttt 등) 
예 : .{3,4}er ('er'앞에 세 개 또는 네 개의 문자를 포함하는 문자열이므로 Peter, mother 등이 해당)

(6) * (asterisk)
"*" 직전의 선행문자가 0번 또는 여러번 나타나는 문자열

예 : ab*c ('b'를 0번 또는 여러번 포함하므로 ac, abc, abbbc 등) 
예 : * (선행문자가 없는 경우이므로 임의의 문자열 및 공백 문자열) 
예 : .* (선행문자가 "."이므로 하나이상의 문자를 포함하는 문자열) 
예 : ab* ('b'를 0번 또는 여러번 포함하므로 a, accc, abb 등) 
예 : a* ('a'를 0번 또는 여러번 포함하므로 k, kd, a, aa, abb 등) 
예 : doc[7-9]* (doc7, doc777, doc778989, doc 등이 해당) 
예 : [A-Z].* (대문자로만 이루어진 문자열) 
예 : like.* (직전의 선행문자가 '.'이므로 like에 0 또는 하나 이상의 문자가 추가된 문자열이 됨, like, likely, liker, likelihood 등) 

(7) + (Plus Sign)
"+" 직전의 선행문자가 1번 이상 나타나는 문자열

예 : ab+c ('b'를 1번 또는 여러번 포함하므로 abc, abcd, abbc 등) 
예 : ab+ ('b'를 1번 또는 여러번 포함하므로 ab, abcc, abb 등) 
예 : [A-Z]+ (대문자로만 이루어진 문자열) 
예 : like.+ (직전의 선행문자가 '.'이므로 like에 하나 이상의 문자가 추가된 문자열이 됨, likely, liker, likelihood 등, 그러나 like는 해당안됨) 

(8) ? (question mark)
"?" 직전의 선행문자가 0번 또는 1번 나타나는 문자열

예 : ab?c ('b'를 0번 또는 1번 포함하므로 abc, abcd 만 해당됨) 

(9) () (parenthesis)
()는 정규식내에서 패턴을 그룹화 할 때 사용 

(10) | (bar)
or를 나타냄

예 : a|b|c (a, b, c 중 하나, 즉 [a-c]와 동일함) 
예 : yes|Yes (yes나 Yes 중 하나, [yY]es와 동일함) 
예 : korea|japan|chinese (korea, japan, chinese 중 하나) 

(11) \ (backslash)
위에서 사용된 특수 문자들을 정규식내에서 문자로 취급하고 싶을 때 '\'를 선행시켜서 사용하면됨

예 : filename\.ext ("filename.ext"를 나타냄) 
예 : [\?\[\\\]] ('?', '[', '\', ']' 중 하나)

자바 트름 없음 .. ㅡ..ㅡ ;;  만들었다 퍼왔다 .. 인터넷에 널리고 널렸다 나하하 ..  저건 정규화다

function trim(str){
    return str.replace(/(^\s*)|(\s*$)/g,"");
}

**
* 날짜관련 자바스크립트 공통함수
*
* 분단위 이하(= 초)는 고려하지 않았습니다.
* YYYYMMDDHHMI 형식의 String => 'Time'으로 칭함
*
* 주로 YYYYMMDD 까지만 쓰인다면 아래 함수들을
* YYYYMMDD 형식의 String => 'Date'로 하여 적당히
* 수정하시거나 아니면 함수를, 예를들어 isValidDate()처럼,
* 추가하시기 바랍니다.
*
* @version 2.0, 2001/01/28
* @author 박종진(JongJin Park), jongjpark@lgeds.lg.co.kr
*/


/**
* 유효한(존재하는) 월(月)인지 체크
*/
function isValidMonth(mm) {
    var m = parseInt(mm,10);
    return (m >= 1 && m <= 12);
}

/**
* 유효한(존재하는) 일(日)인지 체크
*/
function isValidDay(yyyy, mm, dd) {
    var m = parseInt(mm,10) - 1;
    var d = parseInt(dd,10);

    var end = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
    if ((yyyy % 4 == 0 && yyyy % 100 != 0) || yyyy % 400 == 0) {
        end[1] = 29;
    }

    return (d >= 1 && d <= end[m]);
}

/**
* 유효한(존재하는) 시(時)인지 체크
*/
function isValidHour(hh) {
    var h = parseInt(hh,10);
    return (h >= 1 && h <= 24);
}

/**
* 유효한(존재하는) 분(分)인지 체크
*/
function isValidMin(mi) {
    var m = parseInt(mi,10);
    return (m >= 1 && m <= 60);
}

/**
* Time 형식인지 체크(느슨한 체크)
*/
function isValidTimeFormat(time) {
    return (!isNaN(time) && time.length == 12);
}

/**
*
유효하는(존재하는) Time 인지 체크

* ex) var time = form.time.value; //'200102310000'
*     if (!isValidTime(time)) {
*         alert("올바른 날짜가 아닙니다.");
*     }
*/
function isValidTime(time) {
    var year  = time.substring(0,4);
    var month = time.substring(4,6);
    var day   = time.substring(6,8);
    var hour  = time.substring(8,10);
    var min   = time.substring(10,12);

    if (parseInt(year,10) >= 1900  && isValidMonth(month) &&
        isValidDay(year,month,day) && isValidHour(hour)   &&
        isValidMin(min)) {
        return true;
    }
    return false;
}

/**
* Time 스트링을 자바스크립트 Date 객체로 변환
* parameter time: Time 형식의 String
*/
function toTimeObject(time) { //parseTime(time)
    var year  = time.substr(0,4);
    var month = time.substr(4,2) - 1; // 1월=0,12월=11
    var day   = time.substr(6,2);
    var hour  = time.substr(8,2);
    var min   = time.substr(10,2);

    return new Date(year,month,day,hour,min);
}

/**
* 자바스크립트 Date 객체를 Time 스트링으로 변환
* parameter date: JavaScript Date Object
*/
function toTimeString(date) { //formatTime(date)
    var year  = date.getFullYear();
    var month = date.getMonth() + 1; // 1월=0,12월=11이므로 1 더함
    var day   = date.getDate();
    var hour  = date.getHours();
    var min   = date.getMinutes();

    if (("" + month).length == 1) { month = "0" + month; }
    if (("" + day).length   == 1) { day   = "0" + day;   }
    if (("" + hour).length  == 1) { hour  = "0" + hour;  }
    if (("" + min).length   == 1) { min   = "0" + min;   }

    return ("" + year + month + day + hour + min)
}

/**
* Time이 현재시각 이후(미래)인지 체크
*/
function isFutureTime(time) {
    return (toTimeObject(time) > new Date());
}

/**
* Time이 현재시각 이전(과거)인지 체크
*/
function isPastTime(time) {
    return (toTimeObject(time) < new Date());
}

/**
*
주어진 Time 과 y년 m월 d일 h시 차이나는 Time을 리턴

* ex) var time = form.time.value; //'20000101000'
*     alert(shiftTime(time,0,0,-100,0));
*     => 2000/01/01 00:00 으로부터 100일 전 Time
*/
function shiftTime(time,y,m,d,h) { //moveTime(time,y,m,d,h)
    var date = toTimeObject(time);

    date.setFullYear(date.getFullYear() + y); //y년을 더함
    date.setMonth(date.getMonth() + m);       //m월을 더함
    date.setDate(date.getDate() + d);         //d일을 더함
    date.setHours(date.getHours() + h);       //h시를 더함

    return toTimeString(date);
}

/**
*
두 Time이 몇 개월 차이나는지 구함

* time1이 time2보다 크면(미래면) minus(-)
*/
function getMonthInterval(time1,time2) { //measureMonthInterval(time1,time2)
    var date1 = toTimeObject(time1);
    var date2 = toTimeObject(time2);

    var years  = date2.getFullYear() - date1.getFullYear();
    var months = date2.getMonth() - date1.getMonth();
    var days   = date2.getDate() - date1.getDate();

    return (years * 12 + months + (days >= 0 ? 0 : -1) );
}

/**
* 두 Time이 며칠 차이나는지 구함
* time1이 time2보다 크면(미래면) minus(-)
*/
function getDayInterval(time1,time2) {
    var date1 = toTimeObject(time1);
    var date2 = toTimeObject(time2);
    var day   = 1000 * 3600 * 24; //24시간

    return parseInt((date2 - date1) / day, 10);
}

/**
*
두 Time이 몇 시간 차이나는지 구함

* time1이 time2보다 크면(미래면) minus(-)
*/
function getHourInterval(time1,time2) {
    var date1 = toTimeObject(time1);
    var date2 = toTimeObject(time2);
    var hour  = 1000 * 3600; //1시간

    return parseInt((date2 - date1) / hour, 10);
}

/**
*
현재 시각을 Time 형식으로 리턴

*/
function getCurrentTime() {
    return toTimeString(new Date());
}

/**
* 현재 시각과 y년 m월 d일 h시 차이나는 Time을 리턴
*/
function getRelativeTime(y,m,d,h) {
/*
    var date = new Date();

    date.setFullYear(date.getFullYear() + y); //y년을 더함
    date.setMonth(date.getMonth() + m);       //m월을 더함
    date.setDate(date.getDate() + d);         //d일을 더함
    date.setHours(date.getHours() + h);       //h시를 더함

    return toTimeString(date);
*/
    return shiftTime(getCurrentTime(),y,m,d,h);
}

/**
* 현재 年을 YYYY형식으로 리턴
*/
function getYear() {
/*
    var now = new Date();
    return now.getFullYear();
*/
    return getCurrentTime().substr(0,4);
}

/**
* 현재 月을 MM형식으로 리턴
*/
function getMonth() {
/*
    var now = new Date();

    var month = now.getMonth() + 1; // 1월=0,12월=11이므로 1 더함
    if (("" + month).length == 1) { month = "0" + month; }

    return month;
*/
    return getCurrentTime().substr(4,2);
}

/**
*
현재 日을 DD형식으로 리턴

*/
function getDay() {
/*
    var now = new Date();

    var day = now.getDate();
    if (("" + day).length == 1) { day = "0" + day; }

    return day;
*/
    return getCurrentTime().substr(6,2);
}

/**
* 현재 時를 HH형식으로 리턴
*/
function getHour() {
/*
    var now = new Date();

    var hour = now.getHours();
    if (("" + hour).length == 1) { hour = "0" + hour; }

    return hour;
*/
    return getCurrentTime().substr(8,2);
}

/**
*
오늘이 무슨 요일이야?

* ex) alert('오늘은 ' + getDayOfWeek() + '요일입니다.');
* 특정 날짜의 요일을 구하려면? => 여러분이 직접 만들어 보세요.
*/
function getDayOfWeek() {
    var now = new Date();

    var day = now.getDay(); //일요일=0,월요일=1,...,토요일=6
    var week = new Array('일','월','화','수','목','금','토');

    return week[day];
}


// 여기서 퍼옴
http://ihelpers.x2soft.co.kr/programming/tipntech.php?CMD=view&IDX=540&source=overture#wf


링크 정리하자
http://theeye.pe.kr/entry/Prototype-Javascript-Framework-Event  -프포퍼티 사용법
http://openframework.or.kr/Wiki.jsp   -자료 많은곳
http://techbug.tistory.com/guestbook  -데꾸벅님 extjs 정리 되어있는곳
http://www.ibm.com/developerworks/kr/library/x-ajaxjquery.html  -jquary 설명글있는곳
http://getfirebug.com/  -firebug
http://developer.yahoo.com/yui/theater/  -yahoo 영문 싸이트(공부해야 볼수있겠다 ㅠ..ㅠ)


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
 <HEAD>
  <TITLE> New Document </TITLE>
  <META NAME="Generator" CONTENT="EditPlus">
  <META NAME="Author" CONTENT="">
  <META NAME="Keywords" CONTENT="">
  <META NAME="Description" CONTENT="">
 <script language="JavaScript" src="prototype1_6.js"></script> 
  <script>

 function showOptions(){
  var someNodeList = $('lstEmployees').getElementsByTagName('option');
  var nodes = $A(someNodeList);

  nodes.each(function(node){
    alert(node.nodeName + ': ' + node.innerHTML);
    alert(node.value);
   });
 }
 var myPet = {
  color: 'black',
  legCount: 4,
  communicate: function(repeatCount){
   for(i=0;i<repeatCount;i++)
    alert('Woof!');
  }
 };
 function aa (){
  alert('my pet is ' + myPet.color);
  alert('my pet has ' + myPet.legCount + ' legs');
  //if you are a dog, bark three times:
  myPet.communicate(3);
 }

 var myDog = {
  bark: function(){
   alert('Woof!');
  }
 };

 var myCat = {
  meow: function(){
   alert('I am a lazy cat. I will not meow for you.');
  }
 };

 function annoyThePet(petFunction){
  //let's see what the pet can do
  petFunction();
 }

  //annoy the dog:
 
 //annoyThePet(myDog.bark);
  //annoy the cat:
 //annoyThePet(myCat.meow);

 ///myCat.meow = myDog.bark;
 
 //myCat.meow(); //alerts 'Woof!'


//defining a new class called Pet
var Pet = function(petName, age){
 this.name = petName;
 this.age = age;
};

//let's create an object of the Pet class
var famousDog = new Pet('Santa\'s Little Helper', 15);
//alert('This pet is called ' + famousDog.name);

Pet.prototype.communicate = function(){
 alert('I do not know what I should say, but my name is ' + this.name);
};

var Pet = Class.create();
Pet.prototype = {
 //our 'constructor'
 initialize: function(petName, age){
  this.name = petName;
  this.age = age;
 },
 
 communicate: function(){
  alert('I do not know what I should say, but my name is ' + this.name);
 }
};
 var myArray = ['first', 'second', 'third'];
    myArray.each( function(item, index){
 //alert('The item in the position #' + index + ' is:' + item);
} );

 

 


 

</script>

<select id="lstEmployees" size="10" >
 <option value="5">Buchanan, Steven</option>
 <option value="8">Callahan, Laura</option>
 <option value="1">Davolio, Nancy</option>
</select>

 

 </HEAD>

 <BODY>
 <input type="button" value="Show the options" onclick="showOptions();" >
  <input type="button" value="Saaas" onclick="aaa();" >

    <input type="button" value="11"  id ="someButtonID" >
   <input type="button" value="11"  id ='someOtherButtonID' >

   <input type="text" value="txtName"  id ='txtName' >
   <input type="text" value="txtEmail"  id ='txtEmail' >
   <input type="text" value="txtAddress"  id ='txtAddress' >
    <input type="button" value="btnClear"  id ='btnClear' >


 </BODY>
 <script>

 

var myButton = $('someButtonID');
var myButton2 = $('someOtherButtonID');
myButton.onclick = buttonClicked;
myButton2.onclick = buttonClicked;
function buttonClicked(){
 alert('button ' + this.id + ' was clicked');
}

 

var myHelper = {
 
 formFields: [ ],
 
 emptyAllFields: function(){
  for(i=0; i<this.formFields.length; i++){
   var elementID = this.formFields[i];
   var field = document.getElementById(elementID);
   field.value = '';
  }
 }
};


myHelper.formFields.push('txtName');
myHelper.formFields.push('txtEmail');
myHelper.formFields.push('txtAddress');

//clearing the text boxes:
myHelper.emptyAllFields();

var clearButton = document.getElementById('btnClear');
//clearButton.onclick = myHelper.emptyAllFields;
clearButton.onclick = function(){ myHelper.emptyAllFields(); };

 

 </script>


</HTML>

function useridcheek(pNum)
 {
  for (i = 0; i < pNum.value.length; i++)
  {   
   var ch = pNum.value.charCodeAt(i);
   
   if((ch>32&&ch<48)||(ch>57&&ch<127)) {
    alert('한글과 숫자만 입력할 수 있습니다');
    pNum.value = ""
    return false;
   }
  }
  return true;
 }



------------------ 숫자만 이력되게하는 코드 - -- - ------------
function onlyNumberInput()
 {
   var code = window.event.keyCode;

   if ((code > 34 && code < 41) || (code > 47 && code < 58) || (code > 95 && code < 106) || code == 8 || code == 9 || code == 13 || code == 46)
   {
     window.event.returnValue = true;
     return;
   }
   window.event.returnValue = false;
 }



onKeyDown = "javascript:onlyNumberInput()" style='IME-MODE: disabled'



-- 영어 소문자 대문자. 특수문자만 빼고 입력되게해놨음 ....