정말 짜증났었다.


ajax를 타고 호출한곳에서 값까지 전부 전송했는데 난데없이


에러...


원인을 찾아보니 json관련 라이브러리 부재


pom.xml에 디펜던시 추가해주고 메이븐업데이트하고 해봤더니


된다.


<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-core</artifactId>
    <version>2.4.1</version>
</dependency>
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.4.1.1</version>
</dependency>

<dependency>
    <groupId>org.codehaus.jackson</groupId>
    <artifactId>jackson-core-asl</artifactId>
    <version>1.9.13</version>
</dependency>

<dependency>
    <groupId>org.codehaus.jackson</groupId>
    <artifactId>jackson-mapper-asl</artifactId>
    <version>1.9.13</version>
</dependency>



Array.prototype.remove = function(value) {
            this.splice( this.indexOf(value), 1);
            return true;
     };


a=[112, 234, 32545];
a.remove(234);
// [112, 32545];
a.remove(22); 
// still [112, 32545];

상단의 코드를 넣어 프로퍼티를 손봐준다.

그다음에 .remove ( 'item' ); 을 이용하여 제거한다.


1
2
3
4
5
6
7
8
9
10
/* easyui datebox formatter */
$.fn.datebox.defaults.formatter = function(date)
{
    var y = date.getFullYear();
    var m = date.getMonth()+1;
    var d = date.getDate();
    m = ((m < 10) ? '0' : 0+ m;
    d = ((d < 10) ? '0' : 0+ d;
    return y + '-' + m + '-' + d;
};
cs


var str=$("#mesgCont").val();
//스크립트/스타일 제거 
var RegExpJS = new RegExp("(<script[^>]*>(.|[\\s\\r\\n])*<"+"/script>|<style[^>]*>(.|[\\s\\r\\n])*<"+"/style>)", "gim");
str = str.replace(RegExpJS,"");   
//태그 제외 
var RegExpTag = new RegExp("<[^<|>]*>", "gim");  
str = reqlaceAll(str, RegExpTag, "");
//주석 제거   
var RegExpDS = /<!--[^>](.*?)-->/g;   
str = str.replace(RegExpDS,"");   

function reqlaceAll(str, reg, rep){
var strOld = str;
while(true){
str = str.replace(reg, rep);
if(strOld == str) break;
strOld = str;
}
return str;
}


언어마다 정규식 표현방식이 다르다.

특히 Javascript의 경우, RegExp라는 function을 사용하여 만든다. ( 물론 사용하지 않고도 만들 수 있다. 하지만 Syntax Error 를 경험하게 될것이다.)

기본적인 문법은 다음과 같다.

1
2
3
4
5
6
7
8
9
10
/**
 * 1.권장하는 방법..
 **/
var regExp = new RegExp(pattern,modifiers);
 
//또는.
/**
 * 2.같은 정규식을 만들더라도..Syntax Error가 많이 발생하는 것을 경험했다.
 **/
var regExp = /pattern/modifiers;


1번방법을 이용하여, 주석을 제거하는 정규식을 만들어 보겠다.("//" 에 해당하는 주석만 삭제된다.)



1
2
3
4
5
6
7
8
9
10
11
/**
 * "//"로 시작하고, "\n"(줄바꿈)으로 끝나는 글자(문장?)를 찾는다.
 * modifier로 gm 을 지정. g 는 global(전체검색), m은 multiline(여러줄 찾기)
 */
var regExp = new RegExp("//.*\n""gm");
/**
 * 그리고 제거하고자 하는 String value의 replace를 사용하면된다.
 * trim은 양 끝의 공백, 줄바꿈 등을 제거하기 위해 사용.
 * str은 임의의 문자.
 */
str = str.replace(regExp, "").trim()

위의 코드대로 검색하면, "//"에 해당하는 주석은 모두 제거된다.

"/* */"도 제거하는 코드는 다음에....업데이트.,,


+ Recent posts