全角/半角的转换函数

前几天在OA Web开发过程中,一位公务员领导突发奇想,要求我把用户输入的所以字符串中的全角字符都转换为半角(unicode)。由于我在这方面的没有了解,于是上google搜索转换函数,发现国内很少有文章涉及到相关信息。其中一个是
http://www.jxyc.gov.cn/blog/withwolf/showlog.asp?log_id=468&cat_id=0
但此函数不能处理混合输入问题,当全角半角一起输入时就出错。参照上面程序,再结合一些Unicode Wide 编码规则:
请参考
以下是转换程序(javascript)
/****************************
* 参数说明:
*  全角->半角
* str:要转换的字符串
* 返回值类型:字符串
**************************** /
function DBC2SBC(str) {
 var i;
 var result='';
 for(i=0;i<str.length;i++) {
  code=str.charCodeAt(i); 
  // “65281”是“!”,“65373”是“}”
  if(code>=65281&&code<65373)    
    //  “65248”是转换码距
    result+=String.fromCharCode(str.charCodeAt(i)-65248); 
  else result+=str.charAt(i);
  }
 alert(result);
 return result;
}
/*****************************/
以上程序能转换以下编码。若要转换其他特殊的全角符号,请参考
http://ha1.seikyou.ne.jp/home/akairingosaita/hangul/dec-unicode-ks.txt
65281 !
65282 "
65283 #
65284 ¥
65285 %
65286 &
65287 '
65288 (
65289 )
65290 *
65291 +
65292 ,
65293 -
65294 .
65295 /
65296 0
65297 1
65298 2
65299 3
65300 4
65301 5
65302 6
65303 7
65304 8
65305 9
65306 :
65307 ;
65308 <
65309 =
65310 >
65311 ?
65312 @
65313 A
65314 B
65315 C
65316 D
65317 E
65318 F
65319 G
65320 H
65321 I
65322 J
65323 K
65324 L
65325 M
65326 N
65327 O
65328 P
65329 Q
65330 R
65331 S
65332 T
65333 U
65334 V
65335 W
65336 X
65337 Y
65338 Z
65339 [
65510 \
65341 ]
65342 ^
65343 _
65344 `
65345 a
65346 b
65347 c
65348 d
65349 e
65350 f
65351 g
65352 h
65353 i
65354 j
65355 k
65356 l
65357 m
65358 n
65359 o
65360 p
65361 q
65362 r
65363 s
65364 t
65365 u
65366 v
65367 w
65368 x
65369 y
65370 z
65371 {
65372 |
65373 }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值