Android正则的使用
项目开发当中手机号、邮箱的判断是是否常见的,因为项目当中有用到所以做一个简单的总结吧
一,简单是认识 ".", "\d", "\D", "\s", "\S",
"\w", "\W"
上面这些在正则表达式中被称为:Prefined character
classes(已定义好的字符类)。
"."Any character (may or may not match
line terminators)
用于匹配任意一个字符。
"\d"A
digit:[0-9]
用于匹配数字,它和[0-9]是等价的
"\D"A
non-digit:[^0-9]
用于匹配非数字,和[^0-9]是等价的
"\s"A whitespace character:[
\t\n\x0B\f\r]
用于匹配空白字符,其中包括:空格,\t,\n,\x0B,\f,\r,它的用法和:[
\t\n\x0B\f\r]等价
“\S"A non-whitespace
character:[^\s]
用于匹配非空白字符。
"\w"A word
character:[a-zA-Z_0-9]
用于匹配word字符,包括a-z的小写字符,A-Z的大写字符,下划线和数字。
"\W"A non-word
character:[^\w]
用于匹配非word字符。
/***
* 手机号验证
* @param mobiles
* @return true false
*/
public static boolean isMobileNO(String mobiles) {
String telRegex = "[1][358]\\d{9}"; ///\\d{9}"代表后面是可以是0~9的数字,有9位。
if (TextUtils.isEmpty(mobiles)) return false;
else return mobiles.matches(telRegex);
}
/***
* 邮箱验证
* @param strEmail
* @return true false
*/
public static boolean isEmail(String strEmail) {
String strPattern = "^[a-zA-Z][\\w\\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\\w\\.-]*[a-zA-Z0-9]\\.[a-zA-Z][a-zA-Z\\.]*[a-zA-Z]$";
Pattern p = Pattern.compile(strPattern);
Matcher m = p.matcher(strEmail);
return m.matches();
}
上面是比较常用的,网上版本比较多。自己可以找一找。