$('img[src*="btn_cancel"]').click(function(){

$('#폼아이디')[0].reset();

//취소 완료 메시지 표시

alert("변경된 정보가 초기화 되었습니다.");

});

블로그 이미지

왕왕왕왕

,

function fn_autoNextFocus() {

   $("input").keyup (function () {

       var charLimit = $(this).attr("maxlength");

       if (this.value.length >= charLimit) {

           $(this).next("input").focus();

           return false;

       }

   })

};

'JAVA > Jquery' 카테고리의 다른 글

jquery ajax 기본형태  (0) 2016.12.08
jquery 취소이벤트에 의한 폼초기화  (0) 2016.12.08
Jquery 입력한 날짜 월별 일수 및 날짜포맷확인  (0) 2016.11.25
Jquery 정규식 예제  (0) 2016.11.24
jqeury iframe ready state check  (0) 2016.10.24
블로그 이미지

왕왕왕왕

,

   //날짜 월별 max 일 확인

    var fieldObj = new Array();

    var dayValid;

    var equalDate;

    var dataValidate;

    var bol;

    //날짜검사할 id에 # 빼고 나머지만 추가

    fieldObj.push("restreginumFront");

    fieldObj.push("superMngEduFinishd");

    fieldObj.push("superMngDsvYmd");

    

    $.each(fieldObj,function(index,val){

      dataValidate =  $("#"+fieldObj[index]).val().split("-");

      

      var dateArr = new Array();

    for(var i=0; i<dataValidate.length; i++){

   

    if(i != 2){

        dateArr.push(dataValidate[i]);

    }else{

    dayValid = dataValidate[i];

    }

    }

        //month 는 0 부터 시작해서..

       equalDate = 32 - new Date(dateArr[0], dateArr[1]-1, 32).getDate();

   if(equalDate <dayValid){

    alert( $("label[for='"+fieldObj[index]+"'").text()+"에 날짜는 "+dateArr[0]+"년"+dateArr[1]+"월은"+equalDate+"일까지 입니다.");

    $("#"+fieldObj[index]).focus();

    bol = false;

   }

   //each탈출

   if(!bol){

    return bol;

   }

    });

    //함수탈출

    if(!bol){

    return 

    }




날짜포맷 


  var yymd = /[12][0-9]{3}-[01][0-9]-[0-3][0-9]/;


 if(!yymd.test($("#아이디").val()))

블로그 이미지

왕왕왕왕

,

Jquery 정규식 예제

JAVA/Jquery 2016. 11. 24. 18:13

출처:http://letusgo.tistory.com/30


모든 공백 체크 정규식
var regExp = /\s/g;

 

숫자만 체크 정규식
var regExp = /^[0-9]+$/;


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


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


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


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


휴대폰번호 체크 정규식 
var regExp = /^01([0|1|6|7|8|9]?)-?([0-9]{3,4})-?([0-9]{4})$/;

 

##############  정규표현식

1. 확장문자 (: backslash)
    - s : 공백 문자(스페이스, 탭, 폼 피드, 라인 피드)
 
    - b : 단어의 경계
    - B 이를 제외한 모든 문자 매칭
 
    - d : 숫자
    - D : 숫자가 아닌 문자 [^0-9] 와 동일
 
    - w : 알파벳, 숫자로 된 문자, 밑줄 기호(_) [A-Za-z0-9]
    - W : w의 반대 문자 [^A-Za-z0-9]
 
    - 특수문자 : 특수문자 자체를 의미 예) + (+ 기호 자체)
 
2. 특수문자
    - * : 0회 이상 반복
    - + : 1회 이상 반복
    - ? : 0 또는 1개의 문자 매칭
    - . : 정확히 1개 문자 매칭
 
3. 플래그
    - g : 전역매칭
    - i : 대소문자 무시
    - m : 여러 줄 매칭
 
4. 기타
    - () : 괄호로 묶인 패턴은 매칭된 다음, 그 부분을 기억한다.
    - $1,...,$9 : 괄호로 갭처한 부분 문자열이 저장 됨.
    - | : ~또는~
    - {} : 반복 횟수


##############  간단한 정규 표현식
var re = /a/         --a 가 있는 문자열
var re = /a/i        --a 가 있는 문자열, 대소문자 구분 안함
var re = /apple/    -- apple가 있는 문자열
var re = /[a-z]/    -- a~z 사이의 모든 문자
var re = /[a-zA-Z0-9]/    -- a~z, A~Z 0~9 사이의 모든 문자
var re = /[a-z]|[0-9]/  -- a~z 혹은 0~9사이의 문자
var re = /a|b|c/   --  a 혹은 b 혹은 c인 문자
var re = /[^a-z]/  -- a~z까지의 문자가 아닌 문자("^" 부정)
var re = /^[a-z]/  -- 문자의 처음이 a~z로 시작되는 문장
var re = /[a-z]$/  -- 문자가 a~z로 끝남


상기에 정의된 간단한 표현식을 아래에 넣어 직접 해 보시기 바랍니다.
var str = "sample string";
re.test(str)?"true":"false";

* 특수문자('''', ''^'', ''$'', ''*'', ''+'', ''?'', ''.'', ''('', '')'', ''|'', ''{'', ''}'', ''['', '']'')를 검색할 경우는 '''' 를 넣는다.

 

##############  간단한 응용예제
 
 
var re = /s$/;          -- 공백체크
var re = /^ss*$/;   -- 공백문자 개행문자만 입력 거절
var re = /^[-!#$%& amp;'*+./0-9=?A-Z^_a-z{|}~]+@[-!#$%&'*+/0-9=?A-Z^_a-z{|}~]+.[-!#$%& amp;'*+./0-9=?A-Z^_a-z{|}~]+$/; --이메일 체크
var re = /^[A-Za-z0-9]{4,10}$/ -- 비밀번호,아이디체크 영문,숫자만허용, 4~10자리
var re = new RegExp("(http|https|ftp|telnet|news|irc)://([-/.a-zA-Z0-9_~#%$?&=:200-377()]+)","gi") -- 홈페이지 체크

var re = "<[^<|>]*>";  -- 태그제거 
var re = /[<][^>]*[>]/gi;-- 태그제거 
str = str.replace(RegExpTag,""); 

var RegExpJS = "<script[^>]*>(.*?)</script>";  -- 스크립트 제거  
str = str.replace(RegExpJS,""); 

var RegExpCSS = "<style[^>]*>(.*?)";  -- 스타일 제거  
str = str.replace(RegExpCSS,""); 

var RegExpHG = "(/[ㄱ-ㅎ|ㅏ-ㅣ|가-힣]/)";  -- 한글 제거  
str = str.replace(RegExpHG,"");  
 
var RegExpDS = /<!--[^>](.*?)-->/g;   -- 주석 제거  
str6 = str.replace(RegExpDS,""); 

var regExp = /[a-z0-9]{2,}@[a-z0-9-]{2,}.[a-z0-9]{2,}/i; --이메일 체크


## 기타 응용
re = new RegExp("^@[a-zA-Z0-9]+s+","i");//문장의 처음이 @이고 문자가 1나 이상 있으면 ok

 

기타 상기와 동일하나 약간씩 다른 샘픔
영숫자 조합책크
if ((new RegExp(/[^a-z|^0-9]/gi)).test(frm.loginid.value)) {
    alert("ID는 영숫자 조합만 사용하세요"); 
    frm.loginid.focus(); 
}

홈페이지 주소 책크
 function chk(v){
  str='';
  re = new RegExp("^http://","i");  
  re.test(v)?str='y':str='n';
  alert(str);
 }

hanmail인지를 책크
 function chk(v){
  str='';
  re = new RegExp("hanmail.net","i");  
  re.test(v)?str=true:str=false;
  return str
 }

//본문내에서 도메인 구하기
var patt = /(http(s)?://)?w+(.w+)+/gi;
      var result = (aa.value.match(patt));

//본문내에서 url구하기
상기와 유사 var patt = /(http(s)?://)?w+(.w+).S*-gi;

########### 정규식 메소드 및 사용법

참조 http://eknote.tistory.com/1251
참조 http://www.javascriptkit.com/javatutors/redev3.shtml
RegExp.exec(string)
RegExp.test(string)
String.match(pattern)
String.search(pattern)
String.replace(pattern,string)
String.split(pattern)

 

 

 

 

 

 

 

* 특수문자 검증 및 제거

function regExp(){  
 //특수문자 검증 start
 var str = "2011-12-27";
 var regExp = /[\{\}\[\]\/?.,;:|\)*~`!^\-_+<>@\#$%&\\\=\(\'\"]/gi
 if(regExp.test(str)){
  //특수문자 제거
  var t = str.replace(regExp, "")
  alert("특수문자를 제거했습니다. ==>" + t)
 }else{
  alert("정상적인 문자입니다. ==>" + str)
 }
 //특수문자 검증 end
}

 

 

* 닉네임 체크 - 특문 제외 2자 ~ 20자

var pattern = /^[\w\Wㄱ-ㅎㅏ-ㅣ가-힣]{2,20}$/;

[\w]는 [A-Za-z0-9_] 이다
[\W]는 \w를 제외한 특수문자들이다.
[ㄱ-ㅎ] 은  ㄱㄴㄷㄹㅁㅂㅅㅇㅈㅊㅋㅌㅍㅎ
[ㅏ-ㅣ]는 ㅏㅑㅓㅕㅗㅛㅜㅠㅡㅣ
[가-힣]는 가나다라~~타파하 ~ 기니디리~ 티피히 ~ 각낙닥락 ~ 틱픽힉 ~ 깋닣딯맇 ~ 팋핗힣  이 된다.


즉 그냥 모든 문자열에 대한 {2,20} 글자 수 체크가 된다.

 

 

 

 

 

 

 

 

****

 

var pattern = 정규식;
var testee = "테스트 스트링";
var true_or_false = pattern.test( testee);  // 정규식 필터를 통과하면 true, 아니면 false 리턴.

다른 방법들도 있는데 나는 그냥 위와 같이 사용중이다.
아래는 내가 사용하는 정규식 몇 가지 예제..

1) 정수와 소수점 달고다니는 수들만 통과시키는 필터. 예를 들어 '12' '12.123' '-0.571' '-8100' 등에 대해 true를 리턴하고 나머지는 false 리턴.
 
var pattern =  /^[-]?\d+(?:[.]\d+)?$/;
return pattern.test( testee);

1-2) 위의 필터에서 좀더 조건을 추가해서, 양수면서 최대 소수점 2자리 이하까지만 통과시키는 필터. 예를 들어 12.23, 0.41, 51 등에는 true를 리턴하고, -12, -9.43, 1.234 등에는 false를 리턴하는 필터.
var pattern = /^\d+(?:[.]?[\d]?[\d])?$/;
return pattern.test( testee);

2) 숫자 및 x, X, P, E 만 포함한 스트링만 통과시키는 필터. 
예를 들어, 
x123 : true
XPE : true
125 : true
1234O : false
pXP : false

var pattern = /[^1234567890xXPE]/;
return !(pattern.test( testee));

3) 문자 전체에서 특수문자를 하나라도 포함하지 않아야만 함
예를 들어, 
@123 : false
12Hello5 : true
!!! : false

var pattern = /[^\w\s]/i;
return !(pattern.test( testee));

4) 다음과 같은 형식만 통과함. Q로 시작하면서, 0000~9999 까지의 숫자만 Q 뒤에 달고 있어야 함. 
즉, 
Q0001, Q0002, Q1234, Q9999  : true
Q00, Q194, Q1  : false
Q0001A  : false
QUESTION : false

var pattern = /^Q[0-9][0-9][0-9][0-9]$/;
return pattern.test( testee);


5) 정규식에서 g 플래그를 쓸 때 주의해야 한다. 최근에 매칭한 곳에서부터 다시 정규식 검사를 시작하는 속성이 있다.

이것때문에 다음 문제가 일어난다. 연속적으로 한 스트링에 대해 정규식 테스팅을 하면, 처음에는 필터가 잘 동작하다가 나중에는 통과하지 말아야 할 조건을 가진 스트링이 정규식 패턴을 통과했다고 나오게 된다. 구글에서 'regex g flag consecutive' 등으로 검색하면 이 문제로 매우 많은 질문과 답이 나온다. 해결 방법은.. 난 g 플래그 대신 i 플래그를 줘서 해결했다. 아래 링크도 도움이 될 것이다.

http://stackoverflow.com/questions/15610251/why-pattern-testname-opposite-results-on-consecutive-calls
http://stackoverflow.com/questions/6739136/consecutive-calls-to-regexp-test-fail-for-pattern-with-global-option


6) 문자열 양 끝에 공백문자를 없애 주는 정규식. 예를 들어 "   hi hello! "; 를 "hi hello!"; 로 바꿔 주는 코드.
(출처 : http://stackoverflow.com/questions/3000649/trim-spaces-from-start-and-end-of-string)

function trim_whitespace( str) 
{
    return str.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
}


7) "[192.244.1.123]" 같은 string에서 안의 ip부분만 빼낸다("192.244.1.123" 을 빼내는 작업)
function main()
{
    var regex = /\[([.\d]+)]/;
    var str = "[192.244.1.123]";
    var res = regex.exec( str);
    
    // print res[1] = "192.244.1.123";
}

 

 

 

// 정규식 휴대폰 번호 마스킹

** 출처 : http://ironnip.tistory.com/15

 

- num  : '-' 문자가 들어있지않은 숫자로된 전화번호

- type : 0 을 보내면 가운데 자리 마스킹

 

function phoneFomatter(num,type){

    

    var formatNum = '';

    

    if(num.length==11){

        if(type==0){

            formatNum = num.replace(/(\d{3})(\d{4})(\d{4})/, '$1-****-$3');

        }else{

            formatNum = num.replace(/(\d{3})(\d{4})(\d{4})/, '$1-$2-$3');

        }

    }else if(num.length==8){

        formatNum = num.replace(/(\d{4})(\d{4})/, '$1-$2');

    }else{

        if(num.indexOf('02')==0){

            if(type==0){

                formatNum = num.replace(/(\d{2})(\d{4})(\d{4})/, '$1-****-$3');

            }else{

                formatNum = num.replace(/(\d{2})(\d{4})(\d{4})/, '$1-$2-$3');

            }

        }else{

            if(type==0){

                formatNum = num.replace(/(\d{3})(\d{3})(\d{4})/, '$1-***-$3');

            }else{

                formatNum = num.replace(/(\d{3})(\d{3})(\d{4})/, '$1-$2-$3');

            }

        }

    }

    return formatNum;

    

}

 

 

phoneFomatter('01000000000');   //010-0000-0000

phoneFomatter('01000000000',0); //010-****-0000

phoneFomatter('0100000000');    //010-000-0000

phoneFomatter('0100000000',0);  //010-***-0000

phoneFomatter('0200000000');    //02-0000-0000

phoneFomatter('0200000000',0);  //02-****-0000

phoneFomatter('0310000000');    //031-000-0000

phoneFomatter('0310000000',0);  //031-***-0000

phoneFomatter('16880000');      //1688-0000

블로그 이미지

왕왕왕왕

,

var timer = setInterval(function () {

   iframe = document.getElementById('excelDown');

   var iframeDoc = iframe.contentDocument || iframe.contentWindow.document;

   // Check if loading is complete

   if (iframeDoc.readyState == 'complete' || iframeDoc.readyState == 'interactive') {

       clearInterval(timer);

       console.log(iframeDoc.readyState)

       return;

   }

}, 1);



이건 다운로드할때 자바에서 다운로드 파일 쓰고 , 다시 프로트단으로 넘어오면서 다운로드 창이 뜨는 시점을 잡기위한

'JAVA > Jquery' 카테고리의 다른 글

Jquery 입력한 날짜 월별 일수 및 날짜포맷확인  (0) 2016.11.25
Jquery 정규식 예제  (0) 2016.11.24
jquery 각종위치 함수  (0) 2016.10.21
jquery html2canvas div 다운로드  (0) 2016.10.18
Jquery 옵션체크방법  (0) 2016.10.17
블로그 이미지

왕왕왕왕

,

innerWidth() : 400 box사이즈(padding,scrollBar포함)
outerWidth() : 402 box사이즈(border,padding,scrollBar포함)
position().top : 50 parent(wrap)로 부터 위치
offset().top : 101 document로 부터 위치
height() : 250 style에 작성한 사이즈
offsetParent().offset().left : 50 parent에 접근

$(window).height(): 983 브라우저 화면사이즈
$(document).height(): 1052 문서사이즈
$(window).scrollTop() : 0 객체 스크롤 값


box2 $(this).bind 마우스좌표

clientX : 799 브라우저기준(스크롤무시)
clientY : 459 브라우저기준(스크롤무시)
pageX : 799 document기준
pageY : 459 document기준
offsetX : 799 객체기준(마우스가 지나는 객체가 변함)
offsetY : 459 객체기준(마우스가 지나는 객체가 변함)
screenX : 1049 모니터기준
screenY : 622 모니터기준
box3 $("#box3").bind 마우스좌표
offsetX : 34 객체기준
offsetY : -9 객체기준
e.pageX-$box3.offset().left:46 직접계산
e.pageY-$box3.offset().top:55 직접계산


'JAVA > Jquery' 카테고리의 다른 글

Jquery 정규식 예제  (0) 2016.11.24
jqeury iframe ready state check  (0) 2016.10.24
jquery html2canvas div 다운로드  (0) 2016.10.18
Jquery 옵션체크방법  (0) 2016.10.17
Jquery get방식 보낼때 한글깨짐 인코딩  (0) 2016.09.02
블로그 이미지

왕왕왕왕

,

//div 아이디를 가지고 canvas로만들어줌

var element = $("#mapHolder"); // global variable

      

var getCanvas; // global variable

 

   $("#btn-Preview-Image").on('click', function () {

 

     html2canvas(element, {

        onrendered: function (canvas) {

               getCanvas = canvas;

            }

        });

       

   });



//다운로드

$("#btn-Convert-Html2Image").on('click', function () {


//익스플로러일경우

if (navigator.msSaveBlob) {

     console.log('this is IE');

     var URL=window.URL;

     var BlobBuilder = window.MSBlobBuilder;

     navigator.saveBlob=navigator.msSaveBlob;

     var imgBlob = getCanvas.msToBlob();

     if (BlobBuilder && navigator.saveBlob) {

       var showSave =  function (data, name, mimetype) {

         var builder = new BlobBuilder();

         builder.append(data);

         var blob = builder.getBlob(mimetype||"application/octet-stream");

         if (!name)

           name = "Download.bin";

         navigator.saveBlob(blob, name);

       };

       showSave(imgBlob, 'your_pic_name.png',"image/png");

     }

   } 

//크롬 또는 다른브라우저

else {

    var imgageData = getCanvas.toDataURL("image/png")

    var newData = imgageData.replace(/^data:image\/png/, "data:application/octet-stream");

     $("#btn-Convert-Html2Image").attr("download", "your_pic_name.png").attr("href", newData);

   }

});

'JAVA > Jquery' 카테고리의 다른 글

jqeury iframe ready state check  (0) 2016.10.24
jquery 각종위치 함수  (0) 2016.10.21
Jquery 옵션체크방법  (0) 2016.10.17
Jquery get방식 보낼때 한글깨짐 인코딩  (0) 2016.09.02
Jqeury jqGrid 전체 row 로직  (0) 2016.08.25
블로그 이미지

왕왕왕왕

,

$("#sgg > option[value="+parent_value.SGG+"]").attr("selected", "ture");

'JAVA > Jquery' 카테고리의 다른 글

jquery 각종위치 함수  (0) 2016.10.21
jquery html2canvas div 다운로드  (0) 2016.10.18
Jquery get방식 보낼때 한글깨짐 인코딩  (0) 2016.09.02
Jqeury jqGrid 전체 row 로직  (0) 2016.08.25
jquery oldValue newValue  (0) 2016.07.01
블로그 이미지

왕왕왕왕

,