正则表达式,判断输入的字符串是否只包含数字、字母、下划线三种随机组合
public static Boolean judgeInput(String str) {
Pattern pattern = Pattern.compile("^[0-9a-zA-Z_]{1,30}$"); //限制长度为1到30,全闭区间
Matcher matcher = pattern.matcher(str);
if(matcher.matches()) { return ture; }
else { return false; }
}
数字、字母、下划线三种随机组合,头尾不能为空格,字符串中间可夹空格,但不能输入换行符。
这个方法的设计理念是,例如一个新用户注册账号,有时账号密码头尾输入空格时,有些系统会自动忽略字符串头尾的空格,给用户带来不便,但字符串中间输入空格时,对于用户来说是可视的,不易忘记。例如用户想要使用一句英文句子来作为自己的用户名时,若是一味的忽略空格,就多少有点不人性化了。
public static Boolean judgeInput2(String str) {
Pattern pattern = Pattern.compile("^[[0-9a-zA-Z_]\\s*]{1,30}$");
Matcher matcher = pattern.matcher(str);
char[] ch = str.toCharArray();
if(matcher.matches()) { return ture; }
else if (ch[0] == ' ' || ch[ch.length - 1] == ' ' || str.contains("\n")) { return false; }
else { return false; }
}
判断是否全为空格组成。
判断一个或多个纯空格时使用,可以一并用来提示用户输入为空。
public static Boolean judgeInputSpace(String str) {
Pattern pattern = Pattern.compile("^[\\s]*$");
Matcher matcher = pattern.matcher(str);
if(matcher.matches()) { return ture; }
else { return false; }
}
正则表达式,判断输入的字符串是否只包含数字、字母、下划线、中文种随机组合
public static Boolean judgeInput(String str) {
Pattern pattern = Pattern.compile("^[\u4E00-\u9FA50-9a-zA-Z_]{1,30}$"); //限制长度为1到30,全闭区间
Matcher matcher = pattern.matcher(str);
if(matcher.matches()) { return ture; }
else { return false; }
}
先写这么几种吧,想到再更