JS教程:JavaScript全半角转换

规律:半角空格的 charCode 为 32, 全角空格为 12288. 其他半角字符 ( 33 – 126 ) 与全角 ( 65281 – 65374 ) 的对应关系是:均相差 65248.

找好规律,代码就好写了:

var hash = {32 : u3000};
// 半角转全角
function sbc2dbc(str) {
var ret = [], i = 0, len = str.length, code, chr;
for (; i  31 && code < 127) {
chr = hash[code] = String.fromCharCode(code + 65248);
}
ret[i] = chr ? chr : str.charAt(i);
}
return ret.join();
}

同理:

var hash = {12288 :  };
// 全角转半角
function dbc2sbc(str) {
var ret = [], i = 0, len = str.length, code, chr;
for (; i  65280 && code < 65375) {
chr = hash[code] = String.fromCharCode(code - 65248);
}
ret[i] = chr ? chr : str.charAt(i);
}
return ret.join();
}

上面的代码会将 33 - 126 中间的符号也转换。很多时候,这并不是我们需要的(比如将 @ 转换为 @)。下面的代码侵入性更小:

var hash = {};
// 半角转全角。仅转换 [0-9a-zA-Z]
function sbc2dbc_w(str) {
var ret = [], i = 0, len = str.length, code, chr;
for (; i < len; ++i) {
code = str.charCodeAt(i);
chr = hash[code];
if (!chr &&
(47 < code && code < 58
64 < code && code < 91
96 < code && code < 123)) {
chr = hash[code] = String.fromCharCode(code + 65248);
}
ret[i] = chr ? chr : str.charAt(i);
}
return ret.join();
}

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索code128c
, str
, ret
, code
, Chr
, python全角转半角
, 全半角转换代码
, 全角
, 半角
dbc2sbc
,以便于您获取更多的相关知识。

时间: 2025-01-01 13:02:41

JS教程:JavaScript全半角转换的相关文章

js教程:JavaScript For...In 方法及实例教程

js教程:JavaScript For...In 方法及实例教程 在为...在一份声明中是用来循环(重复)通过要素的一个数组,或通过性能的一个对象. 范例 对于在声明中... 如何使用的...在一份声明中循环的要素一个数组. <html> <body> <script type="text/javascript"> var x; var mycars = new Array(); mycars[0] = "Saab"; mycar

JS教程:JavaScript Date 对象使用方法

JS教程:JavaScript Date 对象使用方法 先来看个例子吧,返回当前日期与时间. <html> <body> <script type="text/javascript"> document.write(Date()); </script> </body> </html> 实例二.gettime() <html> <body> <script type="text

js 全半角转换

/*  *全角空格为12288,半角空格为32  *其他字符半角(33-126)与全角(65281-65374)的对应关系是:均相差65248  */ function SBC(text) {     return text.replace(/[x20-x7e]/g, function($) {         return $ == " " ? "u3000" : String.fromCharCode($.charCodeAt(0) + 0xfee0);    

javascript 全角转换实现代码_jquery

下面我们来看下这个例子吧! 复制代码 代码如下: <html>     <head>         <title>jqueryDemo:quanjiaoNum</title>         <script src="jquery.js" src="jquery.js" type="text/javascript"></script>         <script

Word文档中大小写及全半角快速转换的方法

  Word文档中大小写及全半角快速转换的方法         1.字母大小写转换 如果在Word 2007文档中存在英文内容,应对英文单词的大小写格式进行统一规范,此时可以在文档中选中需要修改的英文内容,然后在"开始"选项卡的"字体"选项组中,单击[更改大小]按钮,在随即打开的下拉列表中执行相应的命令,其中前5项命令都是用来规范字母大小写的,如图1所示. 图1 "更改大小"下拉列表 一般情况下,英文内容的句首字母应该大写,如果在输入某些英文内容

JavaScript函数全角半角转换代码

  用JavaScript实现的全角.半角转换功能,为了用着方便,写成了函数,用时候把代码复制到你的JS公共函数库中,用时候调用.   现在用不上?那就先收藏也不错.

asp(javascript)全角半角转换代码 dbc2sbc_javascript技巧

asp全角半角转换函数 flag=-1时进行半角转全角 flag=0时进行半角全角互转 flag=1时进行全角转半角 复制代码 代码如下: <% Function DBC2SBC(Str, flag) Dim i, sStr If Len(Str)<= 0 Then Exit Function DBC2SBC = "" For i = 1 To Len(Str) sStr = Asc(Mid(Str, i, 1)) Select Case flag Case -1 If s

C# 全角和半角转换以及判断的简单代码

这篇文章介绍了在C#中判断和转换全角半角的方法,有需要的朋友可以参考一下   1. 判断是否为全角半角  全角占用二个字节 半角占用一个字节 用string.length 和System.text.Encoding.Default.GetByteCount 其中string.length表示字符串的字符数, System.text.Encoding.Default.GetByteCount表示字符串的字节数. 判断半角(是半角则true) 如下: 复制代码 代码如下: if (checkStri

PHP全角半角转换函数

 这篇文章主要介绍了PHP全角半角转换函数,把目前能找到的所有全角都列出来了一个个替换吧,需要的朋友可以参考下 之前试过网上找的通过ASCII之类的字符替换,发现很多莫名其妙的问题.最后还是换成下面的字符替换方式了,把目前能找到的所有全角都列出来了一个个替换吧   代码如下: /**  * 全角字符转换为半角  *  * @param string $str  * @return string  */  public function Sbc2Dbc($str)  {  $arr = array