본문 바로가기
Programming Language/Javascript

자바스크립트 문자 숫자 분리/ 배열 생성

by 뒹굴거리는프로도 2018. 11. 29.
반응형

하단 소스는 동작되지 않았다. 

자바스크립트에서 배열을 만들어 자바 서버로 넘겨주려고 했으나, 타입을 못 알아 먹는다는 에러가 났었음.

load()라는 함수를 제대로 이해하지 못하기도 했다.

form을 썼다면 넘어갔을 텐데, 이미 구현되어 있는 소스라 포기.

아까워서 가지고 있음.

비슷하게 서블렛에 구현해 놓았다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
var addrStr = $("#searchApplcntAdres").val();
    $("#searchApplcntAdresOriginal").val(addrStr);
 
    var chk_dh = /\s*([\u3131-\u314e|\u314f-\u3163|\uac00-\ud7a3]*\w*)동\s*([0-9]+)호//* ex) 101동(빈칸 있을 수 있음)101호*/
    var chk_dh2 = /\s*([0-9]+)동//* ex) 101동*/
    var chk_dh3 = /\s*([0-9]+)호//* ex) 101호*/
 
    var result = null;
    var addrDetailArr = [];
    var temp = null;
    if( chk_dh.test( addrStr ) )
    {
        temp = chk_dh.exec( addrStr );
        result = temp[1+ "동 " + temp[2+ "호";
        addrDetailArr[0= temp[1+ "동 ";
        addrDetailArr[1= temp[2+ "호";
 
    }else if( chk_dh2.test( addrStr ) )
    {
        temp = chk_dh2.exec( addrStr );
        result = temp[1+ "동 "
        addrDetailArr[0= temp[1+ "동 ";
 
    }else if( chk_dh3.test( addrStr ) )
    {
        temp = chk_dh3.exec( addrStr );
        result = temp[1+ "호 "
        addrDetailArr[0= temp[1+ "호";
 
    }
 
    /*동 호수 배열, 띄어쓰기를 구분하여 db에서 검색하기 위함 */
 
    addrDetailArr.forEach(function(d){
        var hiddenStr  = "<input type=\"hidden\" name=\"searchApplcntAdresDetail\" value=\""+d+"\" >";
        $("#searchLeftForm").append(hiddenStr);
    });
 
 
    if(result != null){
        /* 동 호수를 정제한 데이터 */
        result = jQuery.trim(result);
        addrStr = addrStr.replace(result, '');
 
    }
 
    var arrBoth = [];
    if(addrStr && addrStr.length > 0){
        /*숫자와 문자 마다 분리하여 db 에서 주소를 검색하기 위함 */
        var tmpStr1 = addrStr;
        var tmpStr2 = addrStr;
 
        var arr_1 = tmpStr1.replace(/[^0-9]/g, " ").replace(/\s{2,}/" ").split(" ");
        var arr_2 = tmpStr2.replace("[0-9]"" ").replace(/\s{2,}/" ").split(" ");
 
        var arr1 = arr_1.filter(function(d){ if(d == ""){return falsereturn true; });
        var arr2 = arr_2.filter(function(d){ if(d == ""){return falsereturn true; });
 
        arrBoth = arr1.concat(arr2);
    }
 
 
    arrBoth.forEach(function(d){
        var hiddenStr  = "<input type=\"hidden\" name=\"searchApplcntAdres\" value=\""+d+"\" >";
        $("#searchLeftForm").append(hiddenStr);
    });
 
 
    $("#div_left").load(
        contextPath+"/btwnflr/search.do"
        , {
            searchApplcnt:$("#searchApplcnt").val()
            , searchRegistDe:$("#searchRegistDe").val()
            , searchApplcntMoblphon:$("#searchApplcntMoblphon").val()
            , searchApplcntAdresOriginal : $("#searchApplcntAdresOriginal").val()
            , searchRegistNm:$("#searchRegistNm").val()
            , searchProcessCode:$("#searchProcessCode").val()
            , searchDstrct:$("#searchDstrct").val()
            , searchResdnt:$("#searchResdnt").val() /* 2018.11.29 피신청인 검색 조건 추가*/
            , searchResdntTelno:$("#searchResdntTelno").val() /* 2018.11.29 피신청인 검색 조건 추가*/
            , pageIndex:pageNo
        }
        , function(){
            $("#searchRegistDe").datepicker({
                   //showOn: "button",;
cs


반응형