본문 바로가기

[HTML5] audio, video tag 지원 유무 확인 if ( document.createElement("video").canPlayType ) {console.log("true")} //지원 else { console.log( "false" );} //미지원 더보기
[Javascript] 정규식. 전화번호, 휴대폰 번호 추출. 검증 웹페이지를 제작시, 전화번호를 입력받는 화면이 있다.아래와 같은 화면... 운전자 연락처(숫자만 입력) (필수입력) 파라미터, 화면 디스플레이시 하이픈(-)을 요구할 때,정규식을 사용하면 편하다. //가운데가 4자리 "01012345678".replace(/^(01[016789]{1}|02|0[3-9]{1}[0-9]{1})-?([0-9]{3,4})-?([0-9]{4})$/, "$1-$2-$3") //가운데가 3자리 "0101234567".replace(/^(01[016789]{1}|02|0[3-9]{1}[0-9]{1})-?([0-9]{3,4})-?([0-9]{4})$/, "$1-$2-$3") 이렇게 정규식을 사용하면 가운데가 3자리든 4자리든 010-1234-5678, 010-123-4567 의 형태로 .. 더보기
[Javascript] 아이폰에서 브라우저 백버튼 클릭시 새로고침 안되는 문제. 크롬기반 브라우저 및 안드로이드에서는 브라우저 백버튼을 클릭하였을 때, 이전 페이지 정보를 refresh 한다.하지만 IOS 사파리의 경우 그렇지 않다.페이지에 대한 모든 정보를 사파리에서 저장하고 있기 때문이다.흔히 Hybrid App, Single Page Web 을 구현하게 되면(일반 web도 마찬가지...),간혹 로그인 체크라던가, 필요한 데이터를 받기 위해 document 의 ready에서 ajax를 통해 API들을 요청하게 된다. 하지만 아이폰(사파리)에서 브라우저 백버튼을 눌렀을 때, ready 내의 fuction이 정상 동작하지 않게 된다.이를 해결하기 위해선 window 객체의 onpageshow라는 이벤트를 구현해야 아이폰에서 브라우저 백버튼을 눌렀을 때도, 원하는 결과를 얻을 수 있다.. 더보기
[HTML5] 안드로이드 및 아이폰에서 input file 사용시 카메라 호출하기. 오랜만에 글쓰네요.요즘 하이브리드 웹을 많이 사용하시는데요.네이티브 코딩없이 카메라 호출하는 법에 대해 쓰겠습니다.안드로이드의 경우 2.2버전 이하는 카메라를 호출 할 수 없습니다.(4.0이상, 2.2 이하 에서만 확인해봤습니다.ㅠ 2.3단말기가 없어서)아이폰은...IOS 6 이상에서만 확인해 봤습니다.(아마 5이하는 안될듯 하네요)흔히 input file을 사용할때 type만 file로 옵션을 주는데요.이러면 lg단말기나, 베가 단말에서는 카메라 라는 항목이 보이지 않을 수 있습니다.(삼성은 카메라 라는 항목이 뜨더군요. 얼마나 뜯어 고친건지...;)하지만 또는 accept 에 파일 형식을 쓰고, capture 항목에 camera 라고 써주면 직접 카메라가 호출되는 것을 볼 수 있습니다.안드로이드의 경.. 더보기
[jQuery] mobiscroll 에 타이틀 넣기. 센차에서는 datepicker를 자체 제공하지만, jQuery 에서는 따로 지원을 하지 않는다.그래서 mobiscroll을 많이 사용한다.jquery와 mobiscroll...하지만 mobiscroll에는 치명적인 단점이 있는데, picker 타이틀을 지원하지 않는다.그래서 core를 수정해 봤다. mobiscroll.core.jsLine : 675 html += '' + (s.display != 'inline' ? '' + '' + s.cancelText + '' + '' + s.titleText + '' + (s.button3 ? '' + s.button3Text + '' : '') + '' + s.setText + '' + '' : '') + ''; 위의 코드를 merge 하고, mobiscroll.. 더보기
[Javascript] input file 이미지 미리보기, 썸네일 보기, Thumbnail /** * 이미지 썸네일을 불러오는 function * @param html : input 필드의 dom을 인자로 받는다. 물론 타입은 file * @param $target : 불러온 이미지를 적용할 jquery 객체. **/ function getThumbnail(html, $target) { if (html.files && html.files[0]) { var reader = new FileReader(); reader.onload = function (e) { $target.css('background-image', 'url(\"' + e.target.result + '\")'); } reader.readAsDataURL(html.files[0]); } } 냉무. 더보기
[Javascript] // 주석제거 정규식. 언어마다 정규식 표현방식이 다르다. 특히 Javascript의 경우, RegExp라는 function을 사용하여 만든다. ( 물론 사용하지 않고도 만들 수 있다. 하지만 Syntax Error 를 경험하게 될것이다.) 기본적인 문법은 다음과 같다. /** * 1.권장하는 방법.. **/ var regExp = new RegExp(pattern,modifiers); //또는. /** * 2.같은 정규식을 만들더라도..Syntax Error가 많이 발생하는 것을 경험했다. **/ var regExp = /pattern/modifiers; 1번방법을 이용하여, 주석을 제거하는 정규식을 만들어 보겠다.("//" 에 해당하는 주석만 삭제된다.) /** * "//"로 시작하고, "\n"(줄바꿈)으로 끝나는 글자(문.. 더보기
[jQuery] checkbox, radiobox javascript로 제어하기. 화면 진입시 체크박스에 대한 세팅이 필요할 때가 있다. jQuery는 익숙치 않아, 이부분을 찾는데 시간이 많이 걸렸는데, 아래의 코드로 간단하게 제어할 수 있다. //uncheck. $('.selector').prop('checked',false).checkboxradio('refresh'); //check $('.selector').prop('checked',true).checkboxradio('refresh'); 화면을 refresh 해주어야 정상적으로 check가 되는 것을 확인 할 수 있다. 그리고, 해당 checkbox의 체크여부를 알고 싶다면??? /** * @return boolean */ $('.selector').is(':checked'); 더보기
[jQuery] 외부 html파일을 읽어 현재 페이지에 추가하기.(append external html into current page) 화면을 동적추가할때 코드로 html을 추가하게된다. 하지만, 그 양이 많다면, 소스코드가 지저분해질 수 있는데, 아래와 같은 방법으로 html파일을 읽어 원하는 곳에 추가할 수 있다. /** * @param data : 파싱된 데이터가 리턴된다. **/ $.get("fileName", function(data){ $('추가할 Root View').append($(data).fadeIn()); }); 더보기
[Javascript] 숫자 금액 표시 세자리 콤마 정말 간단하다. javascript의 Number 클래스가 지원하는 함수를 사용하면 된다.var money = 2312000; //2,312,000원 money.toLocaleString(); 결과 :money.toLocaleString()"2,312,000" 더보기