반응형
사람들이 입력창에 집 주소를 입력할 때, '몇 동 몇 호' 이렇게 입력하기도 하고 '300동 300호' 이렇게 입력하기도 한다.
몇 가지 규칙을 정한 후, 사람들이 집 주소란에 입력한 텍스트에서 동 이름만 추출하고 싶을 때 아래 정규식 코드를 활용했다.
function addrSubstrDongHo(addrStr){
var str = addrStr;
/* var chk_dh = /\w*동\s\w*호/;
var chk_dh1 = /\w*동\w*호/;
var chk_dh2 = /,\s(\w*)-(\w*)/;
*/
var chk_dh = /[\u3131-\u314e|\u314f-\u3163|\uac00-\ud7a3]*\w*동\s\w*호/;
var chk_dh1 = /[\u3131-\u314e|\u314f-\u3163|\uac00-\ud7a3]*\w*동\w*호/;
var chk_dh2 = /,\s([\u3131-\u314e|\u314f-\u3163|\uac00-\ud7a3]*\w*)-(\w*)/;
var chk_h = /\w*호/;
var result = null;
if( chk_dh.test( str ) )
{
result = chk_dh.exec( str )[0];
result = result.replace( /^동 호$/, "" );
}
else if( chk_dh1.test( str ) )
{
result = chk_dh1.exec( str )[0];
result = result.replace( /^동 호$/, "" );
}
else if( chk_dh2.test( str ) )
{
result = chk_dh2.exec( str )[0];
result = result.replace(", ", "");
result = result.replace( "-", "동 " ) + "호";
}
else if( chk_h.test( str ) )
{
result = chk_h.exec( str )[0];
result = result.replace( /^호$/, "" );
}
window.console.log( result );
return result;
}
/**
* 주소중 동수
* @function
* @param dongho
* @returns String
*/
function getDongNm(dongho){
/* var chk_d = /\w*동/; */
var chk_d = /[\u3131-\u314e|\u314f-\u3163|\uac00-\ud7a3]*\w*동 /;
if( chk_d.test( dongho ) )
{
var dongStr = chk_d.exec(dongho)[0];
/*test */
var extDong = dongStr.lastIndexOf("동");
var dongName = dongStr.substring(0, extDong);
/* return dongStr.substring(0, dongStr.length-1); */
return dongName;
}else{
return "";
}
}
반응형
'Programming Language > Javascript' 카테고리의 다른 글
[Javascript] onchange()로 html 요소의 값이 변경될 때마다 특정 함수를 호출하기 / escape 사용 (0) | 2018.03.08 |
---|---|
td add (0) | 2018.02.26 |
(스크랩)Javascript 기초 - Object prototype 이해하기 (0) | 2017.12.06 |
[Javascript] Form 데이터 문자열로 변환 시, serialize() 사용하기 (0) | 2017.10.12 |
(스크랩) 프로토타입 이해하기 (0) | 2017.09.19 |