本文实例讲述了Android编程开发中的正则匹配操作。分享给大家供大家参考,具体如下:

在Android开发中,可能也会遇到一下输入框的合法性验证,这时候最常用的就应该是正则表达式去做一些匹配了,下面就常用的正则匹配做一下介绍

1. 手机号码的验证

根据实际开发于2009年9月7日最新统计: 中国电信发布中国3G号码段:中国联通185,186;中国移动188,187;中国电信189,180共6个号段。

移动:134、135、136、137、138、139、150、151、157(TD)、158、159、187、188

联通:130、131、132、152、155、156、185、186

电信:133、153、180、189、(1349卫通)

匹配代码(目前,号码段可能添加了一下,大家根据实际情况写正则表达式)

public class ClassPathResource {

private static final Logger logger = Logger.getLogger(ClassPathResource.class);

public static boolean isMobileNO(String mobiles){

Pattern p = Pattern.compile("^((13[0-9])|(15[^4,\\D])|(18[0,5-9]))\\d{8}$");

Matcher m = p.matcher(mobiles);

logger.info(m.matches()+"---");

return m.matches();

}

2.邮件的验证

public static boolean isEmail(String email){

String str="^([a-zA-Z0-9]*[-_]?[a-zA-Z0-9]+)*@([a-zA-Z0-9]*[-_]?[a-zA-Z0-9]+)+[\\.][A-Za-z]{2,3}([\\.][A-Za-z]{2})?$";

Pattern p = Pattern.compile(str);

Matcher m = p.matcher(email);

logger.info(m.matches()+"---");

return m.matches();

3.IP地址的验证

Pattern pattern = Pattern.compile("");

Matcher matcher = pattern.matcher("127.400.600.2"); //以验证127.400.600.2为例

System.out.println(matcher.matches());

PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:

希望本文所述对大家Android程序设计有所帮助。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐