全角/半角的转换函数

王朝html/css/js·作者佚名  2006-12-17
窄屏简体版  字體: |||超大  

全角/半角的转换函数

全角/半角的转换函数 前几天在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 }

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航