Home  >  Article  >  Web Front-end  >  JS full-width and half-width conversion examples

JS full-width and half-width conversion examples

零下一度
零下一度Original
2017-07-17 16:13:521080browse

Recently I am doing a form verification on a PC website page, and I need to convert full-width input into half-width symbols. I have not learned about these coding knowledge before, so I still have to Google to look up the information, so I will briefly summarize it.

1. What are full-width and half-width?

Full-width: It is a kind of computer character, which means that one full-width character occupies the position of two standard characters (or two half-width characters). Full width occupies two bytes.

Chinese characters, English characters that specify full-width, and graphic symbols and special characters in the national standard GB2312-80 are all full-width characters. In full-width, letters and numbers occupy equal-width positions like Chinese characters.

Half-width: refers to a character occupying a standard character position. Half-width occupies one byte.

Half-width characters are ASCII characters. When no Chinese character input method works, the letters, numbers and characters entered are all half-width characters.

Each half-width character only occupies one byte of space (one byte has 8 bits, a total of 256 encoding spaces). The font size of hieroglyphic languages ​​such as Chinese, Japanese, and Korean is much larger than 256 encoding spaces, so two bytes are used for storage. At the same time, due to the writing habits of hieroglyphics such as China, Japan, and Korea, if full-width characters are used uniformly, the arrangement will appear neat.

For neat arrangement, English and other Latin characters and punctuation are also provided in full-width format.

2. The difference between full-width and half-width

Full-width and half-width are mainly for punctuation marks. Full-width punctuation occupies two bytes, and half-width punctuation occupies one byte. Regardless of whether it is half-width or full-width, Chinese characters take up two bytes.

Full-width to half-width

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

Half-width to full-width

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

The above is the detailed content of JS full-width and half-width conversion examples. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn