直接附上代码:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import static org.junit.Assert.*;
import org.junit.Test;
public class RegexTest {
/**
* 检测邮箱
*/
@Test
public void testEmail() {
/**
* 注:
* 第一个[a-zA-z0-9]+代表@前的字母或数字可以出现一次或多次
* 第二个[a-zA-z0-9]+代表是什么邮箱,如gmail,yahoo,163等
* 最后的(\\.[a-zA-Z0-9]+)+代表邮箱的域名如.com或.cn,并且可以出现一次或多次,如.com.cn
*/
String regex = "[a-zA-z0-9]+@[a-zA-z0-9]+(\\.[a-zA-Z0-9]+)+";
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher("cgwshxs@yahoo.com.cn");
assertEquals(true, m.matches());
}
/**
* 检测手机号码
* 包括以13和15开头的手机号码
*/
@Test
public void testMobilePhone() {
String regex = "1[35][0-9]{9}";
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher("15847488279");
assertEquals(true, m.matches());
}
/**
* 用户名只能有字母和数字组成
* 长度在6-16位之间
*/
@Test
public void testUsername() {
String regex = "[a-zA-Z0-9]{6,16}";
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher("UserName123");
assertEquals(true, m.matches());
}
}
整理完后将其写成工具类
待续。。。