日文全角半角字符判断
1. 字符范围
半角字符:
半角拉丁字符u0000 - u00FF
半角日语字符unicode所有字符uFF61 - uFF9F
半角其他字符uFFE8 – uFFEE
全角字符:
全角数字(0-9) uFF10 - uFF19
全角大英字(A-Z): uFF21 - uFF3A
全角小英字(a-z): uFF41 - uFF5A
全角平仮名:u3040 - u309F
全角片仮名:u30A0 - u30FF
全角Latin: uFF01 - uFF5E
全角Symbol: uFFE0 - uFFE5
说明:
uXXXX是代表十六进制数  Unicode 字符编码。
2. 判断方法
如果输入字符范围符合以下任一条件可以判定为半角字符:
·u0020 – 007E  ASSCII可打印字符(半角英数字符)
·uFF61 –uFF9F 半角片假名及标点字符
3. 代码
JS实现
String.prototype.isBytes = function() {
var cArr = this.match(/[^\x00-\xff|\uff61-\uff9f]/ig);
return (cArr==null ? true : false);
}
JAVA实现
public boolean checkFullChar(String param) {
char[] chs = CharArray();
for (int i = 0; i < chs.length; i++) {
if (!(('\u0020' <= chs[i]) && (chs[i] <= '\u007E'))
&& !(('\uFF61' <= chs[i]) && (chs[i] <= '\uFF9F'))) {
return true;
}
}
return false;
}
小贴士~~
关于全角字符的来源。
传统上,英语或拉丁字母语言使用的电脑系统,每一个字母或符号,都是使用一字节的空间(一字节由8比特组成,共256个编码空间)来储存;而汉语、日语及韩语文字,由于数量大大超过256个,故惯常使用两字节来储存一个字符,在使用固定宽度文字的地方(如DOS、部分文字编辑器等),为了使字体看起来齐整,英文字母、数字及其他符号,也由原来只占一个字空间,改为一概占用两个字的空间来显示,并且使用两个字节来储存。所以,中、日、韩等文字称为全角字符,相比起来,拉丁字母或数字就称为半角字符。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。