怎么用java判断字符含有有数字和字母
使用正则表达式
可以使用字符串subString()这个方法,查询一下ASCII码,找到大写、小写和数字的ASCII码,然后使用CharAt(0)这个方法装换成char型,然后强制转换成int型,就得到每一个字符的ASCII码值,然后定义一个变量,满足在这个条件的时候变量自增
java判断字符串只允许有大写字母或数字或小数点三种形式,包含其中1种即可,并且长度为3,如何写?
import java.util.Scanner;
public class test{
private static void input(){
String str = “”;
int count = 0;
System.out.println(“请输入一个三个字符且包含有大写字母或数字或小数点任意一种或多种字符的的字符串:”);
str = new Scanner(System.in).next();
for (int i = 0; i str.length(); i++) {
if (((int)str.substring(i, i+1).charAt(0)=48 (int)str.substring(i, i+1).charAt(0)= 57)
||((int)str.substring(i, i+1).charAt(0)=65 (int)str.substring(i, i+1).charAt(0)= 90)
|| (int)str.substring(i, i+1).charAt(0) == 46 ) {
count++;
}
}
if (count!=str.length() || str.length()!=3) {
System.out.println(“非法输入!”);
input();
}else{
System.out.println(“输入正确!”);
}
}
public static void main(String[] args) {
input();
}
}
java 怎么判断输入的字符为数字和字母
学过c语言吗?用ascll码值来判断,比如数字0的ascll码值好像是48,读入值的时候,都以字符的形式读入,然后转换为整形再进行判断,如果是=48且=57,那么就是数字,否则就是字符
JAVA正则表达式判断 只能包含汉字、英文、“_”和数字 ,正则该怎么写呢?
正则表达式:[\\u4e00-\\u9fa5]*|\\w*|\\d*|_*
代码如下:
@Test
public void test1(){
//匹配正则表达式表达式
String str = “[\\u4e00-\\u9fa5]*|\\w*|\\d*|_*”;
Pattern pattern = Pattern.compile(str);
//要匹配的字符串
String mStr = “还有多远_344fjdk”;
System.out.println(“测试的字符串:”+mStr);
Matcher m = pattern.matcher(mStr);
//如果匹配到了
if(m.find()){
System.out.println(“匹配内容:”+m.group());
}
}
程序运行结果:
扩展资料
匹配包括下划线的任何单词字符。类似但不等价于“[A-Za-z0-9_]”,”单词”字符使用Unicode字符集,中文的为:[\\u4e00-\\u9fa5],表示英文字母的为\w,表示数字的为\d,表示_的为_,而*号表示的则是0个或多个,|表示的则是或,所以把每个要匹配的用|拼接可以表示要匹配的正则表达式。
参考资料:oracle官网-Java SE API 和文档
java判断用户名只能含数字,字母和下划线,其他都不能有?
zx如履薄冰的方法虽然好像也可以,不过感觉这个问题应该用“正则表达式”来完成才是正道。
说实话,正则表达式我也非常头痛,API文档里有比较详细的介绍。
比如输入的放在String input;
则input.matches(“[0-9A-Za-z_]*”)返回true,表示只有大小写字母,数字和下划线组成的,返回false则不成立
Java问题:输入一串字符 如何判别1.字符长度2.字符中只能有字母和数字3.字符中至少有2个数字
package com.test;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test {
/**
* 获取字符串的长度
*
* @param s
* @return
*/
public static int getlen(String s) {
return s.length();
}
/**
* 判断字符串只有字母和数字
*
* @param str
* @return
*/
public static boolean isLetterDigit(String str) {
String regex = “^[a-z0-9A-Z]+$”;
return str.matches(regex);
}
/**
* 判断字符串中是否至少有2个数字
*
* @param s
* @return
*/
public static boolean FindNumCount(String s) {
Matcher match = Pattern.compile(“\\d”).matcher(s);
int count = 0;
while (match.find())
count++;
return count = 2;
}
public static void main(String[] args) {
String s = “dafdasfda34543bgfbtZSDASD”;
System.out.println(“字符串的长度:” + getlen(s));
System.out.println(“字符串是否只有字母和数字:” + isLetterDigit(s));
System.out.println(“字符串中是否至少有2个数字:” + FindNumCount(s));
}
}