java判断一个长字符串中是否包含字母、数字、汉字,包含则返回true的代码?

2025-06-26 12:06:07
推荐回答(3个)
回答1:

这if个里面你写的的判断多一点,每个用||连接,然后汉字和字母可以考虑用转化的数字编码来完成。给你一个参考,你要是非要当伸手党我就没话说了~

package day_4;

import java.util.Scanner;

public class Passname {

public static void main(String[] args) {
System.out.println("请输入用户名");
Scanner in=new Scanner(System.in);
String name=in.next();
if(name.length()<16&&name.length()>5&&!(Character.isDigit(name.charAt(0)))){
for(int i=0;i if(!(Character.isLetterOrDigit(name.charAt(i)))||name.charAt(i)=='_'){
System.out.println("存在非数字非字母非'_'的字符");
break;
}
else if(i==name.length()-1){
System.out.println("用户名合法");
}
}
}
else{
System.out.println("长度不符或者首字符为数字");
}
}
}

回答2:

不知道楼主是不是要同时包含?

  String line = "2014ABN我";
     Pattern pattern =Pattern.compile("[a-zA-Z]|\\d|[一-龥]");
     Matcher matcher = pattern.matcher(line);
  while (matcher.find()) {
   // 如匹配成功即走到这里
   System.out.println(matcher.group());
  }

回答3:

直接从网上搜正则表达式就可以了