全角半角的字符检测与相互转换

全角和半角是什么意思啊?

全角:
是一种电脑字符,是指一个全角字符占用两个标准字符(或两个半角字符)的位置。全角占两个字节。
汉字字符和规定了全角的英文字符及国标GB2312-80中的图形符号和特殊字符都是全角字符。在全角中,字母和数字等与汉字一样占据着等宽的位置。

半角:
是指一个字符占用一个标准的字符位置。半角占一个字节。
半角就是 ASCII 方式的字符,在没有汉字输入法起作用的时候,输入的字母、数字和字符都是半角的。
每个半角字符只占用一字节的空间(一字节有8位,共256个编码空间)。汉语、日语、及朝鲜文等象形字语言的字库量远大于256个编码空间,所以改用两个字节来储存。同时,由于中日韩等象形文字的书写习惯,如果统一使用全角字符的话,排列起来也显得整齐。
为了排列整齐,英文和其它拉丁文的字符和标点也提供了全角格式。

如何判断在javascript中输入的文字是全角还是半角?

1
2
3
4
5
6
7
8
9
10
11
function issbccase(source) {
if(source=="") {
return true;
}
var reg=/^[\w\u4e00-\u9fa5\uf900-\ufa2d]*$/;
if(reg.test(source)) {
return false;
}else {
return true;
}
}

半角全角相互转换的js函数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
///全角空格为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
}
© 2018 Qing的前端开发Blog All Rights Reserved. 本站访客数人次 本站总访问量
Theme by hiero