在项目中我们总会遇到一些字符匹配的时候,最典型的就是验证用户输入的邮箱或者手机号是否符合格式规范。那我们在做这些匹配的时候,可以有两种方式。

1、 这是一种笨办法。就是自己根据项目的要求来写一个匹配的类,通过一个字符一个字符来匹配,从而得到自己想要的结果。

2、 还有一种就是使用正则表达式。这是普遍都回通用的方法。Android中使用正则,只要3句话:

Pattern pattern = Pattern.compile(reg),reg表示的是正则表达式

Matcher matcher = pattern.matcher(string),string表示的是需要匹配的字符

matcher.matcher(),这边就是直接返回一个boolean值,来表示正确与否

正则表达式用起来挺容易的,但是,正则表达式的书写很是头痛。基本的语法就不讲了,太琐碎了,网上相关的资源也比较多。还有就是正则表达式中的转义字符,我在2011年的12.28号那篇日记中写过了,也就不重复了。

这边就贴点平时常用的一些正则表达式

^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$    //email地址
^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$  //url
^(d{2}|d{4})-((0([1-9]{1}))|(1[1|2]))-(([0-2]([1-9]{1}))|(3[0|1]))$ //年-月-日
^((0([1-9]{1}))|(1[1|2]))/(([0-2]([1-9]{1}))|(3[0|1]))/(d{2}|d{4})$ //月/日/年
^([w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([w-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$ //Emil
^((\+?[0-9]{2,4}\-[0-9]{3,4}\-)|([0-9]{3,4}\-))?([0-9]{7,8})(\-[0-9]+)?$ //电话号码
^(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5])$ //IP地址
(^\s*)|(\s*$) // 首尾空格
^[a-zA-Z][a-zA-Z0-9_]{4,15}$ // 帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线)
^[1-9]*[1-9][0-9]*$ // 腾讯QQ号

更多相关文章

  1. Android(安卓)Studio地图开发之根据地点查找、定位(百度地图API)
  2. Android(安卓)代码混淆技术总结
  3. Android(安卓)写输入编辑框增加@功能,@相关字符高亮
  4. ubuntu用wifi连接android调试程序的步骤
  5. 让你的Android开发效率提高10倍的开源工具库AndroidTools的使用
  6. Android(安卓)Studio使用smack进行ejabberd创建用户
  7. Android资源String中html标签的使用
  8. Android(安卓)NDK开发技巧二
  9. Android(安卓)访问Android(安卓)Wear数据层Api——同步Data Item

随机推荐

  1. android bluetooth UUID蓝牙查询表
  2. android字母导航条实现(原创)
  3. android launcher各个类的解释
  4. Android 高德地图点击地图获取经纬度
  5. 智能手机软件平台 Android VS iPhone OS:
  6. android sdk 版本以及对应 API level
  7. android 自签名证书生成命令
  8. Android 之获取图片及视频缩略图
  9. 获取Android设备IMEI
  10. Android onClick事件三种实现方法