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
}作者最新文章
免登录快速分享代码:适合面试协作的轻量级JS在线运行工具推荐
2026-11-05 14:45:59
JS空字符串和纯空格转浮点数的结果是什么
2026-11-05 11:04:42
JS在线格式化缩进混乱怎么办?配置项调整技巧
2026-11-04 23:27:25
JS怎么获取秒级时间戳
2026-11-03 21:45:29
JS时间戳怎么从毫秒转换为秒
2026-11-03 20:04:14
