Maison  >  Article  >  interface Web  >  Comment déterminer si le texte est pleine largeur ou demi-largeur dans JS

Comment déterminer si le texte est pleine largeur ou demi-largeur dans JS

Y2J
Y2Joriginal
2017-05-20 13:21:046419parcourir

Pleine chasse : C'est une sorte de caractère informatique, ce qui signifie qu'un caractère pleine chasse occupe la position de deux caractères standards (ou deux caractères demi-chasse). La pleine largeur occupe deux octets. Demi-chasse : désigne un caractère occupant une position de caractère standard. La demi-largeur occupe un octet. Ensuite, à travers cet article, je vais vous présenter les connaissances de la vérification JS de la pleine largeur et de la demi-largeur et de la conversion mutuelle. Les amis qui en ont besoin peuvent s'y référer

1. Que sont la pleine chasse et la demi-chasse ?

Pleine chasse : C'est une sorte de caractère informatique, ce qui signifie qu'un caractère pleine chasse occupe la position de deux caractères standards ( ou deux caractères demi-chasse). La pleine largeur occupe deux octets. Les

Les caractères chinois, les caractères anglais qui spécifient la pleine chasse et les symboles graphiques de la norme nationale GB2312-80 et les caractères spéciaux sont tous des caractères pleine chasse. En pleine largeur, les lettres et les chiffres occupent des positions égales en largeur, comme les caractères chinois.

Demi-largeur : désigne un caractère occupant une position de caractère standard. La demi-largeur occupe un octet.

Les caractères demi-chasse sont des caractères ASCII. Lorsqu'aucune méthode de saisie de caractères chinois ne fonctionne, les lettres, chiffres et caractères saisis sont tous des caractères demi-chasse.

Chaque caractère demi-chasse n'occupe qu'un octet d'espace (un octet contient 8 bits, soit un total de 256 espaces de codage). La taille de la police des langues hiéroglyphiques telles que le chinois, le japonais et le coréen est bien supérieure à 256 espaces de codage, donc deux octets sont utilisés pour le stockage. Dans le même temps, en raison des habitudes d'écriture des hiéroglyphes tels que la Chine, le Japon et la Corée, si les caractères pleine chasse sont utilisés uniformément, la disposition apparaîtra soignée.

Pour un arrangement soigné, les caractères anglais et autres latins et la ponctuation sont également fournis en format pleine largeur.

2. La différence entre pleine largeur et demi-largeur

Pleine largeur et demi-largeur concernent principalement les signes de ponctuation, pleins. La ponctuation -largeur occupe deux octets, la demi-largeur occupe un octet. Qu'ils soient demi-chasse ou pleine chasse, les caractères chinois occupent deux octets.

3.js détermine si le texte saisi est en pleine largeur ou en demi-largeur ?

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

4.js conversion mutuelle de la pleine largeur et de la demi-largeur

Tout d'abord, Les informations suivantes doivent être clarifiées :

a. Un espace pleine largeur est 12288 et un espace demi-largeur est 32

b. ) et pleine largeur (65281-65374) pour les autres caractères est : la différence est 65248

Convertir la demi-largeur en pleine largeur

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; 
}

Ce qui précède utilise la méthode charCodeAt() et la méthode fromCharCode() de js.

La méthode charCodeAt() renvoie l'encodage Unicode du caractère à la position spécifiée. Cette valeur de retour est un entier compris entre 0 et 65535.

fromCharCode() accepte une valeur Unicode spécifiée et renvoie une chaîne.

Pour en savoir plus sur la méthode charCodeAt() et la méthode fromCharCode(), vous pouvez cliquer sur « Méthode JavaScript charCodeAt() » et « Méthode JavaScript fromCharCode() ».

Convertir la pleine largeur en demi-largeur

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 
}

[Recommandations associées]

1. Tutoriel vidéo gratuit Javascript

2. nodejs+websocket complète une fonction du système de chat

3 Js termine l'effet de décalage horaire du compte à rebours

2. 🎜>

4.

Explication détaillée de la méthode de suppression récursive d'éléments dans un tableau en JS

5. Explication détaillée d'un exemple de JS complétant le fonction de classement par étoiles

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn