正则表达式的(日语)文字全半角,以及在js和java中的应用

1.      字符范围

半角字符:

半角拉丁字符u0000 - u00FF

半角日语字符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实现

1).

public booleancheckFullChar(String param) {

char[] chs = param.toCharArray();

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;

}

2).

//全角文字

Pattern fullAngle = Pattern.compile("^[^\\x00-\\xff|\\uff61-\\uff9f|0-9]+$");
                    if (fullAngle2.matcher(val).matches()) { 

                                  return    true;

}

小贴士~~:

关于全角字符的来源。

传统上,英语或拉丁字母语言使用的电脑系统,每一个字母或符号,都是使用一字节的空间(一字节由8比特组成,共256个编码空间)来储存;而汉语、日语及韩语文字,由于数量大大超过256个,故惯常使用两字节来储存一个字符,在使用固定宽度文字的地方(如DOS、部分文字编辑器等),为了使字体看起来齐整,英文字母、数字及其他符号,也由原来只占一个字空间,改为一概占用两个字的空间来显示,并且使用两个字节来储存。所以,中、日、韩等文字称为全角字符,相比起来,拉丁字母或数字就称为半角字符。

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值