Android开发中超好用的正则表达式工具类RegexUtil完整实例

本文实例讲述了Android开发中超好用的正则表达式工具类RegexUtil。分享给大家供大家参考,具体如下:

/***********************************************
 * 正则表达式工具
 *
 * @author chen.lin
 * @version 1.0
 ************************************************/
public class RegexUtil {
  /**
   * 车牌号码Pattern
   */
  public static final Pattern PLATE_NUMBER_PATTERN = Pattern
      .compile("^[\u0391-\uFFE5]{1}[a-zA-Z0-9]{6}$");
  /**
   * 证件号码Pattern
   */
  public static final Pattern ID_CODE_PATTERN = Pattern
      .compile("^[a-zA-Z0-9]+$");
  /**
   * 编码Pattern
   */
  public static final Pattern CODE_PATTERN = Pattern
      .compile("^[a-zA-Z0-9]+$");
  /**
   * 固定电话编码Pattern
   */
  public static final Pattern PHONE_NUMBER_PATTERN = Pattern
      .compile("0\\d{2,3}-[0-9]+");
  /**
   * 邮政编码Pattern
   */
  public static final Pattern POST_CODE_PATTERN = Pattern.compile("\\d{6}");
  /**
   * 面积Pattern
   */
  public static final Pattern AREA_PATTERN = Pattern.compile("\\d*.?\\d*");
  /**
   * 手机号码Pattern
   */
  public static final Pattern MOBILE_NUMBER_PATTERN = Pattern
      .compile("\\d{11}");
  /**
   * 银行帐号Pattern
   */
  public static final Pattern ACCOUNT_NUMBER_PATTERN = Pattern
      .compile("\\d{16,21}");
  /**
   * 车牌号码是否正确
   *
   * @param s
   * @return
   */
  public static boolean isPlateNumber(String s) {
    Matcher m = PLATE_NUMBER_PATTERN.matcher(s);
    return m.matches();
  }
  /**
   * 证件号码是否正确
   *
   * @param s
   * @return
   */
  public static boolean isIDCode(String s) {
    Matcher m = ID_CODE_PATTERN.matcher(s);
    return m.matches();
  }
  /**
   * 编码是否正确
   *
   * @param s
   * @return
   */
  public static boolean isCode(String s) {
    Matcher m = CODE_PATTERN.matcher(s);
    return m.matches();
  }
  /**
   * 固话编码是否正确
   *
   * @param s
   * @return
   */
  public static boolean isPhoneNumber(String s) {
    Matcher m = PHONE_NUMBER_PATTERN.matcher(s);
    return m.matches();
  }
  /**
   * 邮政编码是否正确
   *
   * @param s
   * @return
   */
  public static boolean isPostCode(String s) {
    Matcher m = POST_CODE_PATTERN.matcher(s);
    return m.matches();
  }
  /**
   * 面积是否正确
   *
   * @param s
   * @return
   */
  public static boolean isArea(String s) {
    Matcher m = AREA_PATTERN.matcher(s);
    return m.matches();
  }
  /**
   * 手机号码否正确
   *
   * @param s
   * @return
   */
  public static boolean isMobileNumber(String s) {
    Matcher m = MOBILE_NUMBER_PATTERN.matcher(s);
    return m.matches();
  }
  /**
   * 银行账号否正确
   *
   * @param s
   * @return
   */
  public static boolean isAccountNumber(String s) {
    Matcher m = ACCOUNT_NUMBER_PATTERN.matcher(s);
    return m.matches();
  }
}

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

JavaScript正则表达式在线测试工具:
http://tools.jb51.net/regex/javascript

正则表达式在线生成工具:
http://tools.jb51.net/regex/create_reg

更多关于Android相关内容感兴趣的读者可查看本站专题:《Android控件用法总结》、《Android开发入门与进阶教程》、《Android视图View技巧总结》、《Android编程之activity操作技巧总结》、《Android数据库操作技巧总结》及《Android资源操作技巧汇总》

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

(0)

相关推荐

  • android中Intent传值与Bundle传值的区别详解

    举个例子我现在要从A界面跳转到B界面或者C界面   这样的话 我就需要写2个Intent如果你还要涉及的传值的话 你的Intent就要写两遍添加值的方法 那么 如果我用1个Bundle  直接把值先存里边 然后再存到Intent中 不就更简洁吗? 另外一个例子如果我现在有Activity A ,B ,C:现在我要把值通过A经过B传给C你怎么传 如果用Intent的话 A-B先写一遍 再在B中都取出来 然后在把值塞到Intent中 再跳到C 累吗?如果我在A中用了 Bundle 的话  我把Bun

  • Android开发实现查询远程服务器的工具类QueryUtils完整实例

    本文实例讲述了Android开发实现查询远程服务器的工具类QueryUtils.分享给大家供大家参考,具体如下: /** * 查询远程服务器的工具 * @author chen.lin * */ public class QueryUtils { private static final String TAG = "CommonUtils"; private static QueryUtils instance; private SharedPreferences sp; privat

  • 详解Android中Intent的使用方法

    一.Intent的用途 Intent主要有以下几种重要用途: 1. 启动Activity:可以将Intent对象传递给startActivity()方法或startActivityForResult()方法以启动一个Activity,该Intent对象包含了要启动的Activity的信息及其他必要的数据. 2. 启动Service:可以将Intent对象传递给startService()方法或bindService()方法以启动一个Service,该Intent对象包含了要启动的Service的

  • Android组件间通信--深入理解Intent与IntentFilter

    Understanding Intent and IntentFilter--理解Intent和IntentFilterIntent(意图)在Android中是一个十分重要的组件,它是连接不同应用的桥梁和纽带,也是让组件级复用(Activity和 Service)成为可能的一个重要原因.Intent的使用分为二个方面一个是发出Intent,另一个则是接收Intent用官方的说法就是Intent Resolving.本主将对Intent和IntentFilter进行一些介绍.Intent和Inte

  • android中intent传递list或者对象的方法

    本文实例讲述了android中intent传递list或者对象的方法.分享给大家供大家参考.具体实现方法如下: 方法一: 如果单纯的传递List<String> 或者List<Integer>的话 就可以直接使用 代码如下: 复制代码 代码如下: intent.putStringArrayListExtra(name, value)  intent.putIntegerArrayListExtra(name, value) 方法二: 如果传递的是List<Object>

  • android教程之intent的action属性使用示例(intent发短信)

    Action :规定了Intent要完成的动作,是一个字符串常量.使用setAction()来设置Action属性,使用getAction()来获得Action属性.既可以使用系统内置的Action,也可以自己定义.系统自定义的action,如ACTION_VIEW, ACTION_EDIT, ACTION_MAIN等等. 1.自定义Action 在"目的Activity"的AndroidManifest.xml中指定action常量. 复制代码 代码如下: <activity

  • Android系列之Intent传递对象的几种实例方法

    在Android中intent传递对象主要有2种方式分别是,Bundle.putSerializable(Key,Object)和Bundle.putParcelable(Key, Object);当然这些Object是有一定的条件的,前者是实现了Serializable接口,而后者是实现了Parcelable接口,以下是我为大家做的一个实例 首先我们建立一个工程项目命名为:ObjectTestDemo 然后我们再修改main.xml布局文件,主要增加2个按钮view plaincopy to

  • Android Intent启动别的应用实现方法

    我们知道Intent的应用,可以启动别一个Activity,那么是否可以启动别外的一个应用程序呢,答案是可以的. 1.首先我们新建一个Android应用,名为AnotherPro,此应用什么内容都没有,用于被另外一个程序打开. 2.新建一个工程用于打开上面的应用,程序界面如下 3.修改程序代码,在onCreate中添加如下代码 anotherPro = (Button) findViewById(R.id.startAnotherPro);calendar = (Button) findView

  • Android开发实现的Intent跳转工具类实例

    本文实例讲述了Android开发实现的Intent跳转工具类.分享给大家供大家参考,具体如下: 一.概述 Intent的中文意思是"意图,意向",在Android中提供了Intent机制来协助应用间的交互与通讯,Intent负责对应用中一次操作的动作.动作涉及数据.附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,将 Intent传递给调用的组件,并完成组件的调用.Intent不仅可用于应用程序之间,也可用于应用程序内部的Activity/Service之

  • Android Intent的几种用法详细解析

    Intent应该算是Android中特有的东西.你可以在Intent中指定程序要执行的动作(比如:view,edit,dial),以及程序执行到该动作时所需要的资料.都指定好后,只要调用startActivity(),Android系统会自动寻找最符合你指定要求的应用程序,并执行该程序. 下面列出几种Intent的用法显示网页: 复制代码 代码如下: Uri uri = Uri.parse("http://www.google.com");Intent it  = new Intent

  • Android利用Intent启动和关闭Activity

    一.简介 Android应用程序中一般都有多个Activity,在Activity中,通过调用StartActivity方法,并在该方法的参数中传递Intent对象,就可以实现不同Activity之间的切换和数据传递. 通过StartActivity方法传递intent对象来启动另一个Activity时,可分为两类: l 显式启动:在创建的Intent对象中明确指定启动的是哪个Activity: l 隐式启动:安卓系统根据Intent的动作和数据决定应该启动哪个Activity. 1.显式启动A

随机推荐