'Language/JAVASCRIPT'에 해당되는 글 106건

  1. 2010.09.27 정규식 예
  2. 2010.09.24 이미지 슬라이딩 출력 수정본
  3. 2010.09.24 이미지 슬라이딩 출력
  4. 2010.09.24 업로드 선택 이미지 미리 보기
  5. 2010.09.24 다중 파일 업로드
  6. 2010.08.12 브라우져 호환 XMLHttpRequest 객체 생성 함수
  7. 2010.07.13 웹페이지에서 xml 불러 쓰기, new ActiveXObject("Microsoft.XMLDOM");
  8. 2010.07.13 랜덤 정수 출력
  9. 2010.07.05 종결되지 않은 문자열 상수입니다
  10. 2010.06.23 시간 카운트

정규식 예

Language/JAVASCRIPT 2010. 9. 27. 18:46

이메일 체크 정규식
/^[0-9a-zA-Z]([-_\.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-_\.]?[0-9a-zA-Z])*\.[a-zA-Z]{2,3}$/i;


핸드폰번호 정규식
/^\d{3}-\d{3,4}-\d{4}$/;


일반 전화번호 정규식
/^\d{2,3}-\d{3,4}-\d{4}$/;


아이디나 비밀번호 정규식
 /^[a-z0-9_]{4,20}$/;


var regExp = /^01([0|1|6|7|8|9]?)-?([0-9]{3,4})-?([0-9]{4})$/;


if ( !regExp.test( document.frm.hp.value ) ) {
      alert("잘못된 휴대폰 번호입니다. 숫자, - 를 포함한 숫자만 입력하세요.");
      return false
}

추가 - php 경우
<?
$exe = "^01([0|1|6|7|8|9])-?([0-9]{3,4})-?([0-9]{4})$";
$text = "01726161874";
$result = eregi($exe,$text);
if($result){
 echo $text;
}else{
 echo "잘못된 문자열";
}
?>

[ 출처 ]
: 『 skystory.kr 』- 세상의 끝으로 함께...
[ 제목 ] : 자바스크립트 정규식 (메일,핸드폰,전화,아이디,패스워드) | [ 작성자 ] : 하늘이야기

 

 

출처는 위와 같다.

 

응용

//숫자만 받기

<script>
var regExp = /[^0-9]/;
var hp_value="";

function aa(){

for(var i=0;i<document.getElementById('hp').value.length;i++){
 var checkStr = document.getElementById('hp').value.charAt(i);
 hp_value+=checkStr.replace(regExp,"");
}
document.getElementById('hp').value=hp_value;
}


</script>

<input type="text" name="hp" id="hp" onblur="aa()">

// 숫자만 받기

 

 

사용방법은

자스에서는 replaceAll 을 지원하지 않음으로

 

var regExp = 정규식;

var 빈값="";

function aa(){

for(var i=0;i<str.length;i++){
 var checkStr = str.charAt(i);
 빈값+=checkStr.replace(regExp,"");
}
}

</script>

 

 

/^[정규식]/;

정규식 부분 제거

 

/[^정규식]/;

정규식 부분외 제거

 

 

대충 이런식

 

 

 

숫자

/^[0-9]/;

 

영문

/^[a-zA-Z]/;

 

한글

/^[ㄱ-ㅎㅏ-ㅣ가-힣]/;

 

특문

/[^0-9a-zA-Zㄱ-ㅎㅏ-ㅣ가-힝]/;

(한,영,숫자를 제외한 모든 문자)

 

 

 

정규식 졸 어렵;ㅠ

 

 

=======================================2010.8.26 내용추가

스크립트 제거

     var regExp =/^[\<(script)+\>]/gi;

문장, 문자열을 제거할때는

[(문자열)] 로 표시하면 됨

 

/g   // str 의 모든 문자열 대상 검사

/i   // str 의 대소문자 구분 없이 모든 문자 검사 



=================================== 내용 추가

정규식은 / / 으로 시작 끝

\w - 한자리 문자 숫자

\d - 한자리 숫자

^ - 시작

. - 한자리 문자

$ - 표현식 끝

 

즉 내가 4444 라는 식으로 입력되길 원한다면

/^\d\d\d\d$/  이런식

 

반복되는 형태를 간결히 하기 위해 있는것이 수량한정자

* - 0혹은 그 이상(선택적)

+ - 1번 이상

? - 0혹은 한번

{n} -  n번  여기서 한가지 더 {min, max} - min 번에서  max까지 허용

 

즉 위에 2009/09/01 이라고 입력되길 원한다면

/^\d{2,4}\/\d{2}\/\d{2}$/

이런식이 될것이다

앞에 2009는 4글자 2009의 경우와 09의 경우 두가지를 다 생각한것이다

 

그리고 이것을 확일하는 방법은

regExp라는 객체의  test()메소드를 이용하여 정규식을 이용 확인할수 있다..

 

예를 들어 내가 입력한 텍스트의 id명이  input 이라고 가정한다면

var regexp=/^\d{2,4}\/\d{2}\/\d{2}$/;

 if(! regexp.test(input.value)){

 

}

이런식으로 확인가능 하다  test()의 반환형은  boolean 이다

 

우리가 했던  E-mail  확인 정규식은

var regexp=/^\w{3,10}/@/\w{3.10}\.\w{3,6}$/

if(! regexp.test(email.value)){

        alert("잘못된 형식입니다");

}

이런식으로 확인 가능 하지 않을가 생각한다..

alert 가 아닌  span을 이용하면

function eee(){

    var regexp=/^\w{3,10}/@/\w{3.10}/.\w{3,6}$/

    if(! regexp.test(email.value)){

       document.getElementById(email).innerHTML="잘못된 형식입니다";      

}

}


:

이미지 슬라이딩 출력 수정본

Language/JAVASCRIPT 2010. 9. 24. 18:11


<script type="text/javascript">

var slidedownSpeed = 20;  //숫자가 클수록 나타나는 속도가 빠릅니다.
var slidedownTimer =1; // Lower value = faster script

function slidedown_show(dhtmlgoodies_contentBox,dhtmlgoodies_content) {
 initHeight = 0;
 slidedownContentBox = document.getElementById(dhtmlgoodies_contentBox);
    slidedownContent = document.getElementById(dhtmlgoodies_content);
 contentHeight = document.getElementById(dhtmlgoodies_content).offsetHeight;
 slidedownContentBox.style.visibility='visible';
 
 slidedownActive = true;
 slidedown_show_start();
}

function slidedown_show_start() {
 initHeight = initHeight/1 + slidedownSpeed;
 if(initHeight>=contentHeight) {
  initHeight = 0;
  return;
 }
 slidedownContentBox.style.width = initHeight + 'px';
 //alert(initHeight);
 //slidedownContent.style.left = initHeight - contentHeight + 'px';
 setTimeout('slidedown_show_start()',slidedownTimer); // Choose a lower value than 10 to make the script move faster
}

function slidedown_hide(dhtmlgoodies_contentBox) {
 slidedownContentBox.style.width="0px";
 slidedownContentBox.style.visibility='hidden';

}

</script>

'Language > JAVASCRIPT' 카테고리의 다른 글

부모창 리로드시 경고 메시지 없애기  (0) 2010.10.12
정규식 예  (0) 2010.09.27
이미지 슬라이딩 출력  (0) 2010.09.24
업로드 선택 이미지 미리 보기  (0) 2010.09.24
다중 파일 업로드  (0) 2010.09.24
:

이미지 슬라이딩 출력

Language/JAVASCRIPT 2010. 9. 24. 13:43


<html>
<head>
    <title>http://www.blueb.co.kr</title>

<style>
#dhtmlgoodies_contentBox {
  height:0px;
  visibility:hidden;
  position:absolute;
  overflow:hidden;
}

#dhtmlgoodies_content {  position:relative;  }
</style>

<script type="text/javascript">
var initHeight = 0;
var slidedown_direction = 1;
var slidedownContentBox = false;
var slidedownContent = false;
var slidedownActive = false;
var contentHeight = false;
var slidedownSpeed = 8;  //숫자가 클수록 나타나는 속도가 빠릅니다.
var slidedownTimer = 7; // Lower value = faster script

function slidedown_showHide() {
  if(initHeight==0)slidedown_direction=slidedownSpeed; else slidedown_direction = slidedownSpeed*-1;
  if(!slidedownContentBox) {
    slidedownContentBox = document.getElementById('dhtmlgoodies_contentBox');
    slidedownContent = document.getElementById('dhtmlgoodies_content');
    contentHeight = document.getElementById('dhtmlgoodies_content').offsetHeight;
  }
  slidedownContentBox.style.visibility='visible';
  slidedownActive = true;
  slidedown_showHide_start();
}

function slidedown_showHide_start() {
  if(!slidedownActive)return;
  initHeight = initHeight/1 + slidedown_direction;
  if(initHeight <= 0) {
    slidedownActive = false;
    slidedownContentBox.style.visibility='hidden';
    initHeight = 0;
  }
  if(initHeight>contentHeight) {
    slidedownActive = false;
  }
  //slidedownContentBox.style.height = initHeight + 'px';
  slidedownContentBox.style.width = initHeight + 'px';
  //slidedownContent.style.top = initHeight - contentHeight + 'px';
  slidedownContent.style.left = initHeight - contentHeight + 'px';
  setTimeout('slidedown_showHide_start()',slidedownTimer); // Choose a lower value than 10 to make the script move faster
}

function setslidedownWidth(newWidth) {
  document.getElementById('dhtmlgoodies_slidedown').style.width = newWidth + 'px';
  document.getElementById('dhtmlgoodies_contentBox').style.width = newWidth + 'px';
}

</script>
</head>
<body>

<a href="#" onmouseover="slidedown_showHide();return false;" onmouseout="slidedown_showHide();return false;">여기에 마우스를 올려보아요..</a><br>

 
  <div id="dhtmlgoodies_contentBox">
  <div id="dhtmlgoodies_content">
    <img src="http://www.blueb.co.kr/SRC/flash/image/12.jpg" width=300>
  </div>
  </div>


</body>
</html>

출처 - http://www.blueb.co.kr/

'Language > JAVASCRIPT' 카테고리의 다른 글

정규식 예  (0) 2010.09.27
이미지 슬라이딩 출력 수정본  (0) 2010.09.24
업로드 선택 이미지 미리 보기  (0) 2010.09.24
다중 파일 업로드  (0) 2010.09.24
브라우져 호환 XMLHttpRequest 객체 생성 함수  (0) 2010.08.12
:

업로드 선택 이미지 미리 보기

Language/JAVASCRIPT 2010. 9. 24. 13:13


<script type="text/javascript" language="javascript">
    // 화면에 보여지게 할 이미지의 크기를 정해준다.
    var globalPic;
    var maxWidth= 100;   // 이미지의 폭
    var maxHeight= 100;  // 이미지의 높이
    var fileTypes= ["bmp","gif","png","jpg","jpeg"]; // 유효한 파일 타입
    var outImage= "previewField";    // 미리보기 필드 id
    var defaultPic= "noImage.gif";   // 유효한 파일이 아닐 경우 보여주는 이미지

    /*아래의 코드는 수정하지 마십시오.*/
    function fnPreview(what,num) {
        if ( num == 1 ) outImage = "previewField1";
        if ( num == 2 ) outImage = "previewField2";
 
        var msg;
        var source= what.value;
        var ext= source.substring(source.lastIndexOf(".")+1,source.length).toLowerCase();

        for ( var i=0; i<fileTypes.length; i++ )
            if (fileTypes[i]==ext) break;

        globalPic= new Image();
        if ( i<fileTypes.length ) globalPic.src = source;
        else {
            msg = "유효한 이미지 파일이 아닙니다.\n";
            msg+= "아래타입의 이미지 파일을 선택하여 주십시오.\n";
            msg+= fileTypes.join(", ");
            globalPic.src = defaultPic;
            alert(msg);
        }

        setTimeout("fnApplyChange()",200);
    }


    function fnApplyChange() {
        var field= document.getElementById(outImage);
        var x = parseInt(globalPic.width);
        var y = parseInt(globalPic.height);

        if ( x>maxWidth ) {
            y *= maxWidth / x;
            x = maxWidth;
        }

        if ( y>maxHeight ) {
            x *= maxHeight / y;
            y = maxHeight;
        }

        field.style.display = ( x<1 || y<1 )? "none":"";
        field.src   = globalPic.src;
        field.width = x;
        field.height= y;
    }
</script>

 

<br />
<img id="previewField1" border="0" width="300" height="100" /><br />
<br />
<input type="file" name="upFile" onChange="fnPreview(this,1);" size="70" /><br />

 

[출처] 다중 파일 업로드 3가지 방법|작성자 항해자

:

다중 파일 업로드

Language/JAVASCRIPT 2010. 9. 24. 13:12

[방법 1] - 파일을 추가하면 자동으로 파일box가 추가된다.
<script language="JavaScript">
    var uf = ''; 

    function sw_file_add(size, ext) { 
        eval('sw_file_add_form' + uf).innerHTML += "<input type=file name=file[] size='" + size + "' " + ext + " onchange=\"sw_file_add("+size+", '"+ext+"')\"><div id='sw_file_add_form" + (uf+1) + "'></div>"; 
         uf++; 
    }
</script>

 

<input type=file name=file[] size=50 class=input_write onchange="sw_file_add(50,'class=input_write');">
<div id=sw_file_add_form></div>

 

이 방법은 권장하지 않는다.

왜냐하면 파일box의 내용이 바뀌어도 박스가 추가되기 때문이다.

 


[방법 2] - 파일box를 버튼을 눌러서 추가한다.

<script language="JavaScript"> 
    function addFileField() { 
        upload_list = document.getElementById('uploads'); 
        alert(upload_list.innerHTML)

 

        list_item = document.createElement("LI"); 
        file_field = document.createElement("INPUT"); 
        file_field.type = "file"; 
        file_field.name = "file[]"; 
        file_field.change="addFileField();";


        // file_field.class = "input2"; 
        // file_field.style = "border:solid 1;"; 
        file_field.size = 30; 
        list_item.appendChild(file_field); 
        upload_list.appendChild(list_item); 
    }
</script>

 


<a href="#" onclick="addFileField()">add file</a>
<ol id="uploads">
<LI><input type=file name=file[] size=30 class=input2 onchange="addFileField()"> </LI>
</ol> 

 

권장할 만한 방법이지만 한번 추가된 박스는 1번의 방법과 같이 삭제가 불가능 하다.

 


[방법 3] - 미리 업로드할 파일의 갯수를 정한다.
<script language="javascript">
    // 원하는 개수만큼 첨부파일 추가
    function fi_add(ari_num) {
        var lo_row,   lo_cell;   
        var i = 0;        

 

        // 정상적으로 삭제되면
        if ( fi_del() == "delete_ok" ) {
            var lo_tbody = tbl_attach.childNodes(0); // table의 tbody를 읽어서
            for ( i=0; i< ari_num; i++ ) {
                // 새로운 tr을 만든다.
                lo_row = document.createElement("TR");         
                lo_tbody.appendChild(lo_row);

 

                // 파일첨부 td를 생성하고 file폼을 넣어준다.
                lo_cell = document.createElement("TD");
                lo_row.appendChild(lo_cell);
                lo_cell.innerHTML = "<input type=\"file\" name=\"img\" size=\"30\">";
            }
        }   
    }

 

    // table의 로우를 삭제하는 함수
    function fi_del() {
        var lo_table = document.getElementById("tbl_attach");

 

        for ( var i=parseInt(lo_table.rows.length)-1; i>=0; i-- ) {
            lo_table.deleteRow(i);
        }  

        return "delete_ok";
    }
</script>

 

// 제한할 파일 업로드 박스를 지정한다. 아래는 11개까지 업로드할 수 있게 한다.

<select name="sbx_num" onchange="fi_add(this.value);">
   <option value="1">1</option>
   <option value="2">2</option>
   <option value="3">3</option>
   <option value="4">4</option>
   <option value="5">5</option>
   <option value="6">6</option>
   <option value="7">7</option>
   <option value="8">8</option>
   <option value="9">9</option>
   <option value="10">10</option>
   <option value="11">11</option>
</select>


<table id="tbl_attach" border="1">
   <tr>
      <td>
         <input type="file" name="img" size="30">
      </td>
   </tr>
</table>

:

브라우져 호환 XMLHttpRequest 객체 생성 함수

Language/JAVASCRIPT 2010. 8. 12. 10:35


function createXmlhttpRequestObject(){
  var xmlHttp;
  var obj;
  if(window.ActiveXObject){
   try{
    xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
    obj = "ActiveXObject";
   }catch(e){
    xmlHttp = false;
   }
  }else{
   try{
    xmlHttp = new XMLHttpRequest();
    obj = "XMLHttpRequest";
   }catch(e){
    xmlHttp = false;
   }
  }
  if(!xmlHttp){
   alert("XMLHttpRequest 생성 오류");
  }else{
   //alert(obj + " 생성 성공");
   return xmlHttp;
  }
 }

 var xmlHttp = createXmlhttpRequestObject();
 
 xmlHttp.open("GET","url",false);
 xmlHttp.send(null);
 xmlResponse = xmlHttp.responseXML;
 xmlDocumentElement = xmlResponse.documentElement;
 
 document.write(xmlDocumentElement.nodeName);

:

웹페이지에서 xml 불러 쓰기, new ActiveXObject("Microsoft.XMLDOM");

Language/JAVASCRIPT 2010. 7. 13. 18:03


<script language="JavaScript">
<!--
var xmlDOM = new ActiveXObject("Microsoft.XMLDOM");
xmlDOM.async = false;
//xml URL 로드
var xml_url = "http://xxx.co.kr/yyy.php"; // xml 페이지

xmlDOM.load(xml_url); //xml로드

// 사용
var data = xmlDOM.getElementsByTagName("item");
alert(data.length);
//-->
</script>


// http://xxx.co.kr/yyy.php"
<product>
<item>
  <title><![CDATA[맛나바]]></title>
  <etime><![CDATA[2010-08-31 23:59:59]]></etime>
  <stime><![CDATA[2010-07-13 14:00:00]]></stime>
  <img><![CDATA[http://xxx.co.kr/215.jpg]]></img>
  <link><![CDATA[http://xxx.co.kr?code=13850&amp;type=5584]]></link>
 </item> 
<item>
  <title><![CDATA[와맛나바]]></title>
  <etime><![CDATA[2010-08-31 23:59:59]]></etime>
  <stime><![CDATA[2010-07-13 14:00:00]]></stime>
  <img><![CDATA[http://xxx.co.kr/215.jpg]]></img>
  <link><![CDATA[http://xxx.co.kr?code=13850&amp;type=5584]]></link>
 </item>
</product>

'Language > JAVASCRIPT' 카테고리의 다른 글

다중 파일 업로드  (0) 2010.09.24
브라우져 호환 XMLHttpRequest 객체 생성 함수  (0) 2010.08.12
랜덤 정수 출력  (0) 2010.07.13
종결되지 않은 문자열 상수입니다  (0) 2010.07.05
시간 카운트  (0) 2010.06.23
:

랜덤 정수 출력

Language/JAVASCRIPT 2010. 7. 13. 17:32

자바스크립트에서는 Math.random() 함수(메서드)로 무작위의 숫자를 출력할 수 있습니다.

그런데 Math.random()은 0~1까지의 "0.8794235627233815" 이런 실수를 반환하기에, 큰 숫자가 나오게끔 곱하기를 한 후, Math.floor() 를 사용하여 정수화시켜야 합니다.

자바스크립트: 1에서 10까지 랜덤 정수 출력 예제

[code type=javascript]
<script type="text/javascript">
var result = Math.floor(Math.random() * 10) + 1;
document.write(result);
</script>


Math.floor(Math.random() * 100) + 1;
이렇게 하면, 1에서 100까지 나오고

Math.floor(Math.random() * 10);
이렇게 하면, 0에서 9까지 나오게 됩니다.




Math.floor() 대신 Math.round()를 사용하여 정수화하면 안됩니다. Math.round()를 사용하면 1~10까지 나오는 것이 아니라 1~11까지 나오게 됩니다.
:

종결되지 않은 문자열 상수입니다

Language/JAVASCRIPT 2010. 7. 5. 14:28

1. 행 변환 문자 \n 이 잘안되거나 종결되지않는 문자열상수 에러가 날때 \\n으로 처리한다.

'Language > JAVASCRIPT' 카테고리의 다른 글

웹페이지에서 xml 불러 쓰기, new ActiveXObject("Microsoft.XMLDOM");  (0) 2010.07.13
랜덤 정수 출력  (0) 2010.07.13
시간 카운트  (0) 2010.06.23
새창 열기  (0) 2010.06.11
형변환  (0) 2010.06.11
:

시간 카운트

Language/JAVASCRIPT 2010. 6. 23. 11:41


<HTML>
<HEAD>
    <TITLE>BLUE-B</TITLE>
<SCRIPT type="text/javascript">
<!--
function reverse_counter(){
    today = new Date();
    d_day = new Date("Jun 22 2010 20:51:00");
    days = (d_day - today) / 1000 / 60 / 60 / 24;
    daysRound = Math.floor(days);
    hours = (d_day - today) / 1000 / 60 / 60 - (24 * daysRound);
    hoursRound = Math.floor(hours);
    minutes = (d_day - today) / 1000 /60 - (24 * 60 * daysRound) - (60 * hoursRound);
    minutesRound = Math.floor(minutes);
    seconds = (d_day - today) / 1000 - (24 * 60 * 60 * daysRound) - (60 * 60 * hoursRound) -
    (60 * minutesRound);
    secondsRound = Math.round(seconds);
    sec = " 초."
    min = " 분, "
    hr = " 시간, "
    dy = " 일, "
   
    //폼에 출력부분다이나믹
    document.counter.counter_box.value = " 경매종료시간 : " + daysRound +
    dy + hoursRound + hr + minutesRound + min + secondsRound + sec;

    //텍스트 출력 부분

    document.all["counter1"].innerHTML = "경매종료시간 :"+ daysRound +     dy + hoursRound + hr + minutesRound + min + secondsRound + sec;

    newtime = window.setTimeout("reverse_counter();", 1000);
}
//-->
</script>
</HEAD>
<BODY onLoad="reverse_counter()">


<B><div id="counter1" style="font-size:15pt;"></div></B>

<form name="counter">
<input type="text" name="counter_box" size="40" >
</form>

</body>
</html>

출처 - http://www.blueb.co.kr/

====================================================================================================

<SCRIPT LANGUAGE="JavaScript">
 
 function reverse_counterz(){ 
  today = new Date();
  d_day = new Date("december 05 2010 23:59:59");
  
  days = (d_day - today) / 1000 / 60 / 60 / 24;
  daysRound = Math.floor(days);   

  hours1 = (d_day - today) / 1000 / 60 / 60 - (24 * daysRound);     // 일을 미포함한 시간 예) 1 일 12시간
  hoursRound = Math.floor(hours1); 

  hours2 = (d_day - today) / 1000 / 60 / 60 - (24 * daysRound)+(daysRound*24); // 일을 포함한 시간 예) 36시간
  hoursRound2 = Math.floor(hours2);

  minutes = (d_day - today) / 1000 /60 - (24 * 60 * daysRound) - (60 * hoursRound);
  minutesRound = Math.floor(minutes);   

  seconds = (d_day - today) / 1000 - (24 * 60 * 60 * daysRound) - (60 * 60 * hoursRound) -  (60 * minutesRound);
  secondsRound = Math.round(seconds);  
  
  if(hoursRound2<0){
   window.clearTimeout(newtime);
  }else{
   document.getElementById('hh').innerHTML = hoursRound2;
   document.getElementById('mm').innerHTML = minutesRound;
   document.getElementById('ss').innerHTML = secondsRound;
   newtime = window.setTimeout("reverse_counterz();", 1000);  
  }
  
 }
reverse_counterz();
//-->
</SCRIPT>

'Language > JAVASCRIPT' 카테고리의 다른 글

랜덤 정수 출력  (0) 2010.07.13
종결되지 않은 문자열 상수입니다  (0) 2010.07.05
새창 열기  (0) 2010.06.11
형변환  (0) 2010.06.11
시작페이지, 즐겨찾기 추가  (0) 2010.06.08
: