홈으로 | 무료회원가입 | 아이디/비번찾기
추천음악방송
영타를 한글로 변환.
13년 전
<HEAD>
<TITLE>영어 -> 한글</TITLE>
</HEAD>
<SCRIPT>
/**
* 주기적 함수 실행
* 영어를 한글로 바꿔주는 englishToKorean() 함수를
* 100/1 초 간격으로 재실행
*/
function intervalExcute()
{
setInterval( "englishToKorean()", 10 );
}

/**
* 영어를 한글로...
*/
function englishToKorean()
{
form.korean.value = "";

// 입력한 영문 텍스트 추출
var text = form.english.value;

// 변수 초기화
var initialCode = 0;
var medialCode = 0;
var finalCode = 0;

// 입력한 문자열 길이 추출
var textLength = text.length;

for( var idx = 0; idx < textLength; idx++ )
{

// 초성 코드 추출
initialCode = getCode( 'initial', text.substring( idx, idx + 1 ) );
idx++; // 다음 문자로.

/**
* 현재 문자와 다음 문자를 합한 문자열의 중성 코드 추출
* ㅞ ( np ) 또는 ㄼ ( fq ) 같은 두개의 문자가 들어가는 것을 체크하기 위함
*/
tempMedialCode = getCode( 'medial', text.substring( idx, idx + 2 ) );

// 코드 값이 있을 경우
if( tempMedialCode != -1 )
{
// 코드 값을 저장하고 인덱스가 다다음 문자열을 가르키게 한다.
medialCode = tempMedialCode;
idx += 2;
}
else // 코드값이 없을 경우 하나의 문자에 대한 중성 코드 추출
{
medialCode = getCode( 'medial', text.substring( idx, idx + 1 ) );
idx++;
}

// 현재 문자와 다음 문자를 합한 문자열의 종성 코드 추출
tempFinalCode = getCode( 'final', text.substring( idx, idx + 2 ) );

// 코드 값이 있을 경우
if( tempFinalCode != -1 )
{
// 코드 값을 저장한다.
finalCode = tempFinalCode;

// 그 다음의 중성 문자에 대한 코드를 추출한다.
tempMedialCode = getCode( 'medial', text.substring( idx + 2, idx + 3 ) );

// 코드 값이 있을 경우
if( tempMedialCode != -1 )
{
// 종성 코드 값을 저장한다.
finalCode = getCode( 'final', text.substring( idx, idx + 1 ) );
}
else
{
idx++;
}
}
else // 코드 값이 없을 경우
{
// 그 다음의 중성 문자에 대한 코드 추출
tempMedialCode = getCode( 'medial', text.substring( idx + 1, idx + 2 ) );

// 그 다음에 중성 문자가 존재할 경우
if( tempMedialCode != -1 )
{
// 종성 문자는 없음.
finalCode = 0;
idx--;
}
else
{
// 종성 문자 추출
finalCode = getCode( 'final', text.substring( idx, idx + 1 ) );

if( finalCode == -1 ) finalCode = 0;
}
}

// 추출한 초성 문자 코드, 중성 문자 코드, 종성 문자 코드를 합한 후 변환하여 출력
result = String.fromCharCode( 0xAC00 + initialCode + medialCode + finalCode );
form.korean.value += result;
}
}

/**
* 해당 문자에 따른 코드를 추출한다.
* @param type 초성 : chosung, 중성 : jungsung, 종성 : jongsung 구분
* @param char 해당 문자
*/
function getCode( type, char )
{
// 초성
var initial = "rRseEfaqQtTdwWczxvg";

// 중성
var medial = new Array( 'k', 'o', 'i', 'O', 'j', 'p', 'u', 'P', 'h', 'hk', 'ho', 'hl', 'y', 'n', 'nj', 'np', 'nl', 'b', 'm', 'ml', 'l' );

// 종성
var final = new Array( 'r', 'R', 'rt', 's', 'sw', 'sg', 'e', 'f', 'fr', 'fa', 'fq', 'ft', 'fx', 'fv', 'fg', 'a', 'q', 'qt', 't', 'T', 'd', 'w', 'c', 'z', 'x', 'v', 'g' );

var returnCode; // 리턴 코드 저장 변수

var isFind = false; // 문자를 찾았는지 체크 변수

if( type == 'initial' )
{
returnCode = initial.indexOf( char ) * 21 * 28;
isFind = true;
}
else if( type == 'medial' )
{
for( var i = 0; i < medial.length; i++ )
{
if( medial[i] == char )
{
returnCode = i * 28;
isFind = true;
break;
}
}
}
else if( type == 'final' )
{
for( var i = 0; i < final.length; i++ )
{
if( final[i] == char )
{
returnCode = i + 1;
isFind = true;
break;
}
}
}
else
{
alert("잘못된 타입입니다.");
}

if( isFind == false ) returnCode = -1; // 값을 찾지 못했을 경우 -1 리턴

return returnCode;
}
</SCRIPT>
<BODY onLoad = "intervalExcute();form.english.focus()">
<FORM name = "form">
<TABLE>
<TR>
<TD>영어 : </TD>
<TD><TEXTAREA rows = "4" cols = "30" name = "english"></TEXTAREA></TD>
</TR>
<TR>
<TD>한글 : </TD>
<TD><TEXTAREA rows = "4" cols = "30" name = "korean"></TEXTAREA></TD>
<TR>
</TABLE>
</FORM>
</BODY>
추천추천 : 213 추천 목록
번호 제목
3,025
 윈도우10 시스템파일 손상 (초간단 오류 복구방법!!)
3,024
 PHP 파일 존재 여부 파악하기(로컬 파일 존재 및 원격지 파일 존재)
3,023
 [CSS] 박스 세로 가운데 중앙 정렬 6가지
3,022
 CSS Layout 수평 & 수직 정렬
3,021
 여러 도메인들 간 쿠키 공유하기
3,020
 태그 사이에 있는 텍스트를 추출
3,019
 [JQuery] textbox focus on off일때 숫자 콤마 보여주기
3,018
 쿠키 생성,가져오기,삭제
3,017
 사용자 함수 모음
3,016
 마우스,키보드 제한 ( 오른쪽클릭,드래그,영역선택등..)
3,015
 [HTML5] <video> - DOM으로 제어하기
3,014
 HTML5 video 태그에서 영상 좌우반전
3,013
 PHP - 특정 태그 및 문자열 추출, 제거
3,012
 [PHP] define과 defined의 차이
3,011
 우클릭 완벽차단 스크립트
3,010
 iframe 높이 100% 맞추기
3,009
 curl 함수를 이용한 HTTP REFERER 변경
3,008
 윈도우10 시스템 파일 및 Dism 검사
3,007
 텍스트 줄바꿈, 글자자르기 CSS
3,006
 jQuery Mobile에서 유용한 코드 10가지.
3,005
 [PHP] dirname()함수와 $_SERVER 관련 상수들
3,004
 [PHP] 파일 크기, 사이즈 불러오는 함수, filesize()
3,003
 [jQuery] jQuery Quick API
3,002
 [ transition ] 링크 hover 색상 변화 속도 조절
3,001
 PHP 5.3.0 에서 사라진 함수들 대체
목록
뮤직트로트 부산광역시 부산진구 가야동 ㅣ 개인정보취급방침
Copyright (C) musictrot All rights reserved.