「java校验中文」java校验中文符号

博主:adminadmin 2022-11-28 13:10:06 58

今天给各位分享java校验中文的知识,其中也会对java校验中文符号进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java 如何校验中文?

1.【java代码】

//校验中文

public class TestLater {

public static void main(String[] args){

String aa = "中国China人";

for (int i = 0; i aa.length(); i++) {

String bb = aa.substring(i, i+1);

//生成一个Pattern,同时编译一个正则表达式.

boolean cc = java.util.regex.Pattern.matches("[\u4E00-\u9FA5]", bb);

System.out.println(bb+" is chinese?- "+cc);

}

}

}

2.【validate框架】

field property="other" depends="mask"

arg key="cardinfo.other" position="0" bundle="-tfpartezoa-tfpartmda"/

var

var-namemask/var-name

var-value^[\w|\s|\u4e00-\u9fa5]+$/var-value

/var

/field

java怎么检验字符串是否全为纯中文

Java判断一个字符串是否有中文一般情况是利用Unicode编码(CJK统一汉字的编码区间:0x4e00–0x9fbb)的正则来做判断,但是其实这个区间来判断中文不是非常...

java怎么判断输入的是不是中文

你好,最简单而且最保险的一种方法是:

这里举个最复杂的例子:就是输入了中文和英文的

String str = "....." ; //str是你输入的东西

如果str.length() str.getBytes().length 那么输入的肯定有中文

看测试代码:

public class Chinese {

public static void main(String[] args) {

String str1 = "aaa" ;

String str2 = "中国" ;

String str3 = "中a" ;

isChinese(str1) ;

isChinese(str2) ;

isChinese(str3) ;

}

public static void isChinese(String str){

if(str.length() str.getBytes().length){

System.out.println("有中文");

}else{

System.out.println("英文");

}

}

}

Java判断字符串是中文还是英文

Java中判断字符串的编码有两种思路:

一种是根据byte的长度判断,英文的字母数字好标点符号都是一个byte,且值在0-255之间

另一种是根据中文的Unicode取值范围判断,这个就是把所以的范围都包含,才能判断正确,参考unicode中文范围:

示例代码:

import java.util.regex.Matcher;

import java.util.regex.Pattern;

public class StringTest {

//英文占1byte,非英文(可认为是中文)占2byte,根据这个特性来判断字符

public static boolean checkChar(char ch) {

if ((ch + "").getBytes().length == 1) {

return true;//英文

} else {

return false;//中文

}

}

public static String checkString(String str) {

String res = "";

if (str != null) {

for (int i = 0; i str.length(); i++) {

//只要字符串中有中文则为中文

if (!checkChar(str.charAt(i))) {

res = "中文";

break;

} else {

res = "英文";

}

}

}

return res;

}

//判断是不是中文

public static boolean isChinese(char c) {

Character.UnicodeBlock ub = Character.UnicodeBlock.of(c);

if (ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS

|| ub == Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS

|| ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A

|| ub == Character.UnicodeBlock.GENERAL_PUNCTUATION

|| ub == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION

|| ub == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS) {

return true;

}

return false;

}

//判断是不是英文字母

public static boolean isEnglish(String charaString) {

return charaString.matches("^[a-zA-Z]*");

}

//根据中文unicode范围判断u4e00 ~ u9fa5不全

public static String isChinese(String str) {

String regEx1 = "[\\u4e00-\\u9fa5]+";

String regEx2 = "[\\uFF00-\\uFFEF]+";

String regEx3 = "[\\u2E80-\\u2EFF]+";

String regEx4 = "[\\u3000-\\u303F]+";

String regEx5 = "[\\u31C0-\\u31EF]+";

Pattern p1 = Pattern.compile(regEx1);

Pattern p2 = Pattern.compile(regEx2);

Pattern p3 = Pattern.compile(regEx3);

Pattern p4 = Pattern.compile(regEx4);

Pattern p5 = Pattern.compile(regEx5);

Matcher m1 = p1.matcher(str);

Matcher m2 = p2.matcher(str);

Matcher m3 = p3.matcher(str);

Matcher m4 = p4.matcher(str);

Matcher m5 = p5.matcher(str);

if (m1.find() || m2.find() || m3.find() || m4.find() || m5.find())

return "中文";

else

return "英文";

}

public static void main(String[] args) {

System.out.println("使用长度判断:");

System.out.println(checkString("Hello++"));

System.out.println(checkString("Hello++。、,?"));

System.out.println(checkString("Hello++编程"));

System.out.println(checkString("编程"));

System.out.println("\r\n使用正则表达式判断:");

System.out.println(isChinese("Hello++"));

System.out.println(isChinese("Hello++。、,?"));

System.out.println(isChinese("Hello++编程"));

System.out.println(isChinese("编程"));

System.out.println("\r\n使用Character.UnicodeBlock");

System.out.println(isChinese('h')?"中文":"英文");

System.out.println(isChinese(',')?"中文":"英文");

System.out.println(isChinese('。')?"中文":"英文");

System.out.println(isChinese('编')?"中文":"英文");

}

}

java 判断是否有中文,以及它的位置

1、判断输入类型的最好法是正则表达式校验2、确定中文文字的unicode范围[\u4E00-\u9FA5]3、编写正则表达式[\u4E00-\u9FA5]+,利用String.matches()方法判断输入值是否符合4、校验不通过输出提示codedemo:Strings="我是12";Stringreg

java校验中文的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java校验中文符号、java校验中文的信息别忘了在本站进行查找喔。

The End

发布于:2022-11-28,除非注明,否则均为首码项目网原创文章,转载请注明出处。