>  기사  >  웹 프론트엔드  >  Javascript는 전각 및 반각 문자의 변환을 구현합니다_javascript 기술

Javascript는 전각 및 반각 문자의 변환을 구현합니다_javascript 기술

WBOY
WBOY원래의
2016-05-16 16:21:511252검색

먼저 코드를 작성하고 그다음에 말도 안 되는 소리를 하세요^_^

코드 복사 코드는 다음과 같습니다.

/**
* 전자 문자 변환
​*/
함수 toDBC(str){
var 결과 = "";
var len = str.length;
for(var i=0;i {
      var cCode = str.charCodeAt(i);
//전각과 반각의 차이(공백 제외): 65248(십진수)
cCode = (cCode>=0x0021 && cCode<=0x007E)?(cCode 65248) : cCode;
​​​​ //공백 처리
cCode = (cCode==0x0020)?0x03000:cCode;
         결과 = String.fromCharCode(cCode);
}
결과 반환;
}
/**
* 반각 문자 변환
​*/
함수 toSBC(str){
var 결과 = "";
var len = str.length;
for(var i=0;i {
      var cCode = str.charCodeAt(i);
//전각과 반각의 차이(공백 제외): 65248(십진수)
cCode = (cCode>=0xFF01 && cCode<=0xFF5E)?(cCode - 65248) : cCode;
​​​​ //공백 처리
cCode = (cCode==0x03000)?0x0020:cCode;
         결과 = String.fromCharCode(cCode);
}
결과 반환;
}

지식 포인트

반각 문자와 전각 문자(ASCII 문자)를 비교하면 ASCII 문자 범위에는 전각 및 반각 문자 범위(0x20~0x7E)가 있음을 알 수 있습니다.

예:

반각 기호와 전각 기호가 다릅니다
# 0x0023 0xFF03 0xFEE0
?0x003F 0xFF1F 0xFEE0
스페이스 0x0020 0x03000 0x2FE0

공백을 제외한 전각 문자와 반각 문자의 차이는 0xFFE0입니다.

따라서 전자 및 반각 문자를 변환할 때는 공백에 대한 특별한 처리가 필요합니다.

예:

전폭 = 반폭 0xFEE0

반폭 = 전폭 - 0xFFE0

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.