반응형


마땅한 erd 툴이 없을 경우에 아래처럼 엑셀에다가 명세를 작성하기도 합니다.

그리고 아래 형식을 그대로 복사해서 테이블 생성을 하고 싶기도 합니다.

그래서 한번 만들어 보았습니다.



<코드>

<textarea style="width:100%;height:200px;" id="a"></textarea>
 
<textarea style="width:100%;height:200px;" id="b"></textarea>
 
<script>
$(document).ready(function() {
  $(document).on("keyup""#a", generateMysqlCrateTable);
});
 
function generateMysqlCrateTable() {
  var source = $("#a").val();
  var lines = source.split("\n");
  var result = "";
  var pks = [];
  var tableComment = "";
  for (var i = 0; i < lines.length; i++) {
    switch (i) {
      case 1:
        continue;
        break;
      case 0:
        var words = lines[i].split("\t");
        result += "CREATE TABLE `" + words[1+ "` (";
        tableComment = words[0];
        break;
      default:
        var words = lines[i].split("\t");
        result += "  `" + words[1+ "` ";
        if (words[2!= '') {
          pks.push(words[1]);
        }
        result += " " + words[5];
        if (words[6!= '') {
          result += "(" + words[6+ ")";
        }
        if (words[4!= '') {
          result += " NOT NULL ";
        }
        if (words[3!= '') {
          result += " AUTO_INCREMENT ";
        }
 
        if (words[7!= '') {
          result += " DEFAULT " + words[7];
        }
        if (words[0!= '') {
          result += " COMMENT '" + words[0+ "'";
        }
        result += ",";
        break;
    }
    result += "\n";
  }
  if (pks.length > 0) {
    result += " PRIMARY KEY (";
    for (var i in pks) {
      result += "`" + pks[i] + "`,";
    }
    result = result.slice(0-1);
 
    result += "),\n";
  }
 
  result = result.slice(0-2+ "\n";
 
  result += ") ENGINE=InnoDB COMMENT='" + tableComment + "'; "
 
  $("#b").text(result);
  return;
}
 
<script>



반응형

'UTIL' 카테고리의 다른 글

javascript - snake to camel  (0) 2019.02.17
반응형

source code

<textarea id="a" rows="10"></textarea>
<input type="button" onclick="go()" value="==>">
<textarea id="b" rows="10"></textarea>
<script>
function go() {
  var val = document.getElementById("a").value;  
  document.getElementById("b").value = snakeToCamel(val);
}
function snakeToCamel(source) {
  var val = source;
    var result = source.match(/\w*(\w\_\w)+\w*/g);
  if (result != null) {
    for ( var i = 0; i < result.length; i++) {
      var word = result[i].toLowerCase();
      var arrUnderbar = word.match(/\_[a-zA-Z]/g);
      for ( var j = 0; j < arrUnderbar.length; j++) {
        word = word.replace(arrUnderbar[j], arrUnderbar[j]
            .toUpperCase().replace("_"""));
      }
      val = val.replace(result[i], word);
    }    
  }
  return val;
}
</script>


반응형

'UTIL' 카테고리의 다른 글

javascript util - excel to mysql create database query  (0) 2019.02.25
반응형

아래 [예제]에서 이미지 파일을 선택하시며 미리보기가 됩니다.

 

핵심은 FileReader 객체인데 지원 가능한 브라우저는 아래와 같습니다.

 

Firefox (Gecko)

 Chrome

 Internet Explorer*

 Opera

 Safari

 3.6 (1.9.2)

 7

 10

 12.02

 6.0.2



[예제]

 

 

 

[코드]

 

 

반응형

'스크립트' 카테고리의 다른 글

css - 줄바꿈  (0) 2019.05.15
vim - 하이라이트 끄기  (0) 2019.05.13
IE img label for 클릭 안될때 처리  (4) 2019.03.27
User agent를 이용한 모바일 체크  (0) 2019.03.18
cmd process kill  (0) 2018.11.17
javascript padStart - left padding  (0) 2018.11.07
curl 기본 사용법  (0) 2018.11.07
jquery self unwrap  (0) 2018.11.06
반응형

자바스크립에서 특정 문자열 왼쪽에 문자열을 채우고 싶을 padStart 함수를 이용하면 됩니다.

하지만 지원하지 않는 브라우저나 버전이 있으므로 아래와 같이 정의해 놓고 사용하면 편합니다.

 

참고로, 아래코드는 왼쪽에 채울 문자열을 1자리만 허용하고 있습니다.

 

[Code]

 

 

[Test]

 
 

[Result]

 

반응형

'스크립트' 카테고리의 다른 글

IE img label for 클릭 안될때 처리  (4) 2019.03.27
User agent를 이용한 모바일 체크  (0) 2019.03.18
html5 javascript 이미지 미리보기  (0) 2018.11.29
cmd process kill  (0) 2018.11.17
curl 기본 사용법  (0) 2018.11.07
jquery self unwrap  (0) 2018.11.06
jquery 확장 enter key function  (0) 2018.11.05
javascript cookie getCookie setCookie  (0) 2018.11.05
반응형

자바스크립트 쿠키 제어 함수 입니다.

 

 

참조 : https://www.quirksmode.org/js/cookies.html

반응형

'스크립트' 카테고리의 다른 글

javascript padStart - left padding  (0) 2018.11.07
curl 기본 사용법  (0) 2018.11.07
jquery self unwrap  (0) 2018.11.06
jquery 확장 enter key function  (0) 2018.11.05
netstat unique ip  (0) 2018.09.10
javascript java rsa  (0) 2018.08.13
aes256 cbc javascript and java  (0) 2018.08.09
ajax multiple parameter request list  (0) 2018.07.24
반응형

 

Java Code

 

 

Result

 

 

 

Html and Javascript code

 
 

Result

 

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

공개키 / 개인키 문자열로 처리.

반응형

'스크립트' 카테고리의 다른 글

jquery self unwrap  (0) 2018.11.06
jquery 확장 enter key function  (0) 2018.11.05
javascript cookie getCookie setCookie  (0) 2018.11.05
netstat unique ip  (0) 2018.09.10
aes256 cbc javascript and java  (0) 2018.08.09
ajax multiple parameter request list  (0) 2018.07.24
javascript object size  (0) 2018.07.23
jquery ajax ie no transport error  (0) 2018.07.17
반응형

AES256 CBC NoPadding UTF-8

 

Javascript Code

 

 

Result

 

 

Java Code

 

 

Result

 

 

 

* trim을 주의하세요.

CBC NoPadding 으로 16바이트 단위를 맞춰야해서 원래 문자열 뒤에 공백으로 16바이트 단위를 맞추고 복호화 할때 다시 그 공백을 trim으로 제거합니다.

원래 문자열 뒤에 공백이 있었다면 그 공백은 제거됩니다.

 

반응형

'스크립트' 카테고리의 다른 글

jquery 확장 enter key function  (0) 2018.11.05
javascript cookie getCookie setCookie  (0) 2018.11.05
netstat unique ip  (0) 2018.09.10
javascript java rsa  (0) 2018.08.13
ajax multiple parameter request list  (0) 2018.07.24
javascript object size  (0) 2018.07.23
jquery ajax ie no transport error  (0) 2018.07.17
윈도우 netstat grep wc 포트 커넥션 확인  (0) 2018.07.09
반응형
 
 

 

 
반응형
반응형

상황(Case) 


html source에서 a tag 중 href link address가 image인 element만 찾아내서 click event를 바꿔치기 하는 javascript입니다.


원본 (Source)


document.getElementsByTagName("a");
var aList = document.getElementsByTagName("a");
for(var i=0; i<aList.length; i++) {
  var a = aList[i];
  if(a.href.match(/(^https?:\/\/.*\.(png|jpg|jpeg|gif))/i)) {
    a.onclick = function(event){
      alert(this.href);
      event.preventDefault();
      event.stopPropagation();
      return false;
    };
  }  
}




정규식 (Regex)

Find : 

(^https?:\/\/.*\.(png|jpg|jpeg|gif))



반응형
반응형

Jquery의 each 함수를 쓰다보면  중간에 멈추고 싶은 경우가 있습니다.

for 나 while 의 break 기능과 같은 경우입니다.

아래 예제와 같이 callback function에서 return false를 하면 더 이상 반복되지 않습니다.

 

 
 

 

 

 

반응형

+ Recent posts