正则表达式的(⽇语)⽂字全半⾓,以及在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);
js中文正则表达式}
JAVA实现
1).
public booleancheckFullChar(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;
}
2).
//全⾓⽂字
Pattern fullAngle = Patternpile("^[^\\x00-\\xff|\\uff61-\\uff9f|0-9]+$");
if (fullAngle2.matcher(val).matches()) {
return true;
}
⼩贴⼠~~:
关于全⾓字符的来源。
传统上,英语或拉丁字母语⾔使⽤的电脑系统,每⼀个字母或符号,都是使⽤⼀字节的空间(⼀字节由8⽐特组成,共256个编码空间)来储存;⽽汉语、⽇语及韩语⽂字,由于数量⼤⼤超过256个,故惯常使⽤两字节来储存⼀个字符,在使⽤固定宽度⽂字的地⽅(如DOS、部分⽂字编辑器等),为了使字体看起来齐整,英⽂字母、数字及其他符号,也由原来只占⼀个字空间,改为⼀概占⽤两个字的空间来显⽰,并且使⽤两个字节来储存。所以,中、⽇、韩等⽂字称为全⾓字符,相⽐起来,拉丁字母或数字就称为半⾓字符。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论