원문

기압골의 영향으로 12월 3일은 서울.경기도와 강원영서에 비 또는 눈이, 4일은 제주도에 비가 오겠습니다. <br />그 밖의 예보기간에는 고기압의 가장자리에 들어 가끔 구름이 많겠습니다. <br />기온은 평년(최저기온: -7~4도, 최고기온: 5~13도)보다 조금 낮겠습니다.<br />강수량은 평년(1~3mm)보다 적겠으나, 서울.경기도와 강원영서, 제주도는 비슷하겠습니다.


변환문

기압골의 영향으로 십이월 삼일은 서울.경기도와 강원영서에 비 또는 눈이, 사일은 제주도에 비가 오겠습니다. 그 밖의 예보기간에는 고기압의 가장자리에 들어 가끔 구름이 많겠습니다. 기온은 평년( 최저기온은 마이너스 칠에서 사도, 최고기온은 오에서 십삼도 )보다 조금 낮겠습니다.강수량은 평년( 일에서 삼밀리미터 )보다 적겠으나, 서울.경기도와 강원영서, 제주도는 비슷하겠습니다.


Javascript 코드

날씨 한글로 변환
<html>
<head>
    <meta charset="UTF-8">
    <title>JS 테스트</title>
</head>
<script>
function viewKorean(num) {
    var hanA = new Array("","일","이","삼","사","오","육","칠","팔","구","십");
    var danA = new Array("","십","백","천","","십","백","천","","십","백","천","","십","백","천");
    var result = "";
    for(i=0; i<num.length; i++) {
        str = "";
        han = hanA[num.charAt(num.length-(i+1))];
        if(han != "") str += han+danA[i];
        if(i == 4)    str += "만";
        if(i == 8)    str += "억";
        if(i == 12)   str += "조";
        result = str + result;
    }
    result = result.replace("일십", "십");
    result = result.replace("일백", "백");
    result = result.replace("일천", "천");

    return result;
}

var text = "기압골의 영향으로 12월 3일은 서울.경기도와 강원영서에 비 또는 눈이, 4일은 제주도에 비가 오겠습니다. <br />그 밖의 예보기간에는 고기압의 가장자리에 들어 가끔 구름이 많겠습니다. <br />기온은 평년(최저기온: -7~4도, 최고기온: 5~13도)보다 조금 낮겠습니다.<br />강수량은 평년(1~3mm)보다 적겠으나, 서울.경기도와 강원영서, 제주도는 비슷하겠습니다.";

var text = "";

// 태그 제거
var re = /\<br.\/\>/gi;
var minus = /(-)(\d+)/gi;
var tilde = /(~)(\d+)/gi;
var units = /mm/gi;
var colon = /\:/gi;
var brackets_start = /\(/gi;
var brackets_end = /\)/gi;
var number_pattern = /\d+/g;

text = text.replace(re, "").replace(minus, "마이너스 $2").replace(tilde, "에서 $2").replace(units, "밀리미터").replace(colon, "은").replace(brackets_start, " 대비 ").replace(brackets_end, "로 작년");

var number_string = text.match( number_pattern );

for(var z=0; z<number_string.length; z++) {
    text = text.replace(number_string[z], viewKorean(number_string[z]));
}

console.log(text);
</script>
<body>
</body>
</html>
  • 레이블 없음