JavaScript实现半角与全角字符相互转换

作者:键盘侠时间:2026-10-24 07:29:48浏览:531

本文介绍如何使用JavaScript编写函数实现半角与全角字符的相互转换。核心原理基于字符编码差值65248,通过遍历字符串并利用charCodeAt与fromCharCode方法,分别处理空格及常规字符,完成ToDBC(半角转全角)和ToCDB(全角转半角)逻辑。

半角与全角转换原理及代码实现

具体实现代码如下所示:

全角空格的Unicode编码为12288,而半角空格的编码为32。
除空格外,其他字符在半角(编码范围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;
} 
以下是将全角字符转换为半角字符的函数实现:
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
}
作者最新文章