>  기사  >  웹 프론트엔드  >  JS에서 텍스트가 전체 너비인지 절반 너비인지 확인하는 방법

JS에서 텍스트가 전체 너비인지 절반 너비인지 확인하는 방법

Y2J
Y2J원래의
2017-05-20 13:21:046419검색

전각: 컴퓨터 문자의 일종으로 하나의 전자 문자가 표준 문자 2개(또는 반각 문자 2개)의 위치를 ​​차지하는 것을 의미합니다. 전체 너비는 2바이트를 차지합니다. 반각: 표준 문자 위치를 차지하는 문자를 말합니다. 반폭은 1바이트를 차지합니다. 다음으로 이번 글을 통해 전각과 반각의 JS 검증과 상호변환에 대한 지식을 소개하겠습니다. 필요하신 분들은 참고하시면 됩니다

1. 전각과 반각이란 무엇인가요?

전각: 컴퓨터 문자의 일종으로 전자 문자 하나가 표준 문자 두 개( 또는 두 개의 반각 문자). 전체 너비는 2바이트를 차지합니다.

한자, 전각을 지정하는 영어 문자, 국가 표준 GB2312-80의 그래픽 기호 및 특수 문자는 모두 전각 문자입니다. 전각에서는 문자와 숫자가 한자와 같은 폭의 위치를 ​​차지합니다.

반각: 표준 문자 위치를 차지하는 문자를 말합니다. 반폭은 1바이트를 차지합니다.

반각 문자는 ASCII 문자입니다. 한자 입력 방법이 작동하지 않는 경우 입력되는 문자, 숫자, 문자는 모두 반각 문자입니다.

각 반각 문자는 1바이트의 공간만 차지합니다(1바이트는 8비트, 총 256개의 인코딩 공간). 중국어, 일본어, 한국어 등 상형문자 언어의 글꼴 크기는 256 인코딩 공간보다 훨씬 크기 때문에 2바이트를 저장에 사용한다. 동시에, 중국, 일본, 한국 등 상형문자의 쓰기 습관으로 인해 전각자를 균일하게 사용하면 배열이 깔끔하게 나타난다.

깔끔한 정리를 위해 영어 및 기타 라틴 문자와 구두점도 전각 형식으로 제공됩니다.

2. 전각과 반각의 차이

전각과 반각은 주로 구두점, 전각 -자 구두점은 2바이트를 차지하고, 반자 구두점은 1바이트를 차지합니다. 반각이든 전각이든 관계없이 한자는 2바이트를 차지합니다.

3.js는 입력된 텍스트가 전각인지 반각인지 결정합니까?

str="中文;;a"   
alert(str.match(/[\u0000-\u00ff]/g))   //半角  
alert(str.match(/[\u4e00-\u9fa5]/g))   //中文  
alert(str.match(/[\uff00-\uffff]/g))   //全角

4.js 전각과 반각 상호변환

우선 다음은 정보를 명확히 해야 합니다.

a. 전각 공백은 12288이고, 반각 공백은 32입니다.

b 반각(33-126) 간의 해당 관계. 다른 문자의 경우 전각(65281-65374)은 다음과 같습니다. 차이는 65248

반각을 전각으로 변환

function ToDBC(txtstring) { 
  var tmp = ""; 
  for(var i=0;i<txtstring.length;i++{ 
    if(txtstring.charCodeAt(i)==32){ 
      tmp= tmp+ String.fromCharCode(12288); 
    } 
    if(txtstring.charCodeAt(i)<127){ 
      tmp=tmp+String.fromCharCode(txtstring.charCodeAt(i)+65248); 
    } 
  } 
  return tmp; 
}

위는 js의 charCodeAt() 메서드와 fromCharCode() 메서드를 사용합니다.

charCodeAt() 메서드는 지정된 위치에 있는 문자의 유니코드 인코딩을 반환합니다. 이 반환 값은 0 - 65535 사이의 정수입니다.

fromCharCode()는 지정된 유니코드 값을 받아들이고 문자열을 반환합니다.

charCodeAt() 메서드와 fromCharCode() 메서드에 대해 자세히 알아보려면 "JavaScript charCodeAt() 메서드" 및 "JavaScript fromCharCode() 메서드"를 클릭하세요.

전각을 반각으로 변환

function ToCDB(str) { 
  var tmp = ""; 
  for(var i=0;i<str.length;i++){ 
    if (str.charCodeAt(i) == 12288){
      tmp += String.fromCharCode(str.charCodeAt(i)-12256);
      continue;
    }
    if(str.charCodeAt(i) > 65280 && str.charCodeAt(i) < 65375){ 
      tmp += String.fromCharCode(str.charCodeAt(i)-65248); 
    } 
    else{ 
      tmp += String.fromCharCode(str.charCodeAt(i)); 
    } 
  } 
  return tmp 
}

[관련 권장 사항]

자바스크립트 무료 동영상 튜토리얼

2. nodejs+websocket으로 채팅 시스템 기능 완성

Js로 카운트다운 시차증 효과 완성

4. JS에서 배열의 요소를 재귀적으로 삭제하는 방법에 대한 자세한 설명

5. JS에서 별점 평가를 완료하는 예제에 대한 자세한 설명 기능

위 내용은 JS에서 텍스트가 전체 너비인지 절반 너비인지 확인하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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