编程题目:
16.编写一个校验用户名的程序,检测键盘录入的用户名是否合法。要求:用户名必须是6-10位之间的字母、下划线、@、.,并且不能以数字开头。
示例代码:
package program.string.exercise16;
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* 16.编写一个校验用户名的程序,检测键盘录入的用户名是否合法
* 要求:用户名必须是6-10位之间的字母、下划线、@、.
* 并且不能以数字开头
*
*/
/**
* ^:表示以什么开头
* $:表示以什么结尾
* []:表示一个集合
* {}:表示集合位数
* \d=[0-9]
*/
public class NameRegExp {
public static void main(String[] args) {
System.out.println("请输入用户名:");
@SuppressWarnings("resource")
Scanner scanner = new Scanner(System.in);
String str = scanner.nextLine();
String regExp = "^[A-Za-z_@.]{6,10}$";
Pattern pa = Pattern.compile(regExp);
Matcher matcher = pa.matcher(str);
boolean matches = matcher.matches();
System.out.println(matches);
}
}
结果显示:

