正则表达式验证手机号,邮箱

正则表达式

1.什么是正则表达式

正则表达式能够描述字符串的格式
通常用于验证字符串内容
正则表达式并不是java语言的内容,而是独立于编程语言的体系

2.为什么需要正则表达式

在人机信息交互时,可以让计算机验证用户输入的内容是否匹配
比如Email,手机号,身份证号等

3.正则表达式字符说明

一个字符

正则表达式 说明
[abc] a,b,c中任意一个字符
[^abc] 除了a,b,c的任意字符
[a-z] a到z任意一个字符
[a-zA-Z0-9] a-z,A-Z,0-9任意一个字符
[a-z&&[^bc]] a-z中除了b,c以外的任意一个字符 &&表示“与”的关系

预定义字符

正则表达式 说明
. 任意一个字符
\d 任意一个数字字符
\w 单词字符 相当于[a-zA-Z0-9]
\s 空白字符
\D 非数字字符
\W 非单词字符
\S 非空白字符

数量词

正则表达式 说明
X? 表示0个或1个X
X* 表示0个或任意多个X
X+ 表示1个到任意多个X
X{n} 表示n个X
X{n,} 表示n个到任意多个X
X{n,m} 表示n个到m个X

正则验手机号

public class MatchDemo {
	public static void main(String[] args) {
		String phone="19990949008";
		/*
		 * 1[0-9&&[^0124]][0-9]{9}
		 * 1[356789]\d{9}
		 */
		String regex="1[356789]\\d{9}";
		System.out.println(phone.matches(regex));
	}
}
结果为True

正则验证email

public class MatchDemo2 {
	public static void main(String[] args) {
		/*
		 * [a-zA-Z0-9_]{1,}@[a-zA-Z0-9]{1,}(\.[a-zA-Z]{1,}){1,}
		 * \w+@[a-zA-Z0-9]+(\.[a-zA-Z]+)+
		 */
		String email="[email protected]";
		String regex="\\w+@[a-zA-Z0-9]+(\\.[a-zA-Z]+)+";
		System.out.println(email.matches(regex));
	}
}
运行结果为True

你可能感兴趣的:(正则表达式)