黑马程序员----Java正则表达式校验邮箱和手机号码
2014-06-23 11:17
501 查看
------- android培训、java培训、期待与您交流! ----------
如有疑问的同学,请参看:http://heimacxy.blog.163.com/blog/static/1903840442011611112028947/ 或 http://www.cnblogs.com/hm-chentao
好处:正则的出现,对字符串的复杂操作变得更为简单。
特点:将对字符串操作的代码用一些符号来表示。只要使用了指定符号,就可以调用底层的代码对字符串进行操作。符号的出现,简化了代码的书写。
弊端:符号的出现虽然简化了书写,但是却降低了阅读性。
其实更多是用正则解决字符串操作的问题。
组:用小括号标示,每定义一个小括号,就是一个组,而且有自动编号,从1开始。
只要使用组,对应的数字就是使用该组的内容。别忘了,数组要加\\。
(aaa(wwww(ccc))(eee))技巧,从左括号开始数即可。有几个左括号就是几组。
常见操作:
1,匹配:其实用的就是String类中的matches方法。
String reg = "[1-9][0-9]{4,14}";
boolean b = qq.matches(reg);//将正则和字符串关联对字符串进行匹配。
2,切割:其实用的就是String类中的split方法。
3,替换:其实用的就是String类中的replaceAll();
4,获取:
1),先要将正则表达式编译成正则对象。使用的是Pattern中静态方法 compile(regex);
2),通过Pattern对象获取Matcher对象。
Pattern用于描述正则表达式,可以对正则表达式进行解析。
而将规则操作字符串,需要从新封装到匹配器对象Matcher中。
然后使用Matcher对象的方法来操作字符串。
如何获取匹配器对象呢?
通过Pattern对象中的matcher方法。该方法可以正则规则和字符串想关联。并返回匹配器对象。
3),使用Matcher对象中的方法即可对字符串进行各种正则操作。
下面是关于正则表达式的java例子:
package com.itheima; import java.util.regex.Matcher; import java.util.regex.Pattern; public class CheckMobileAndEmail { /** * 验证邮箱地址是否正确 * * @param email * @return */ public static boolean checkEmail(String email) { boolean flag = false; try { String check = "^([a-z0-9A-Z]+[-|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$"; Pattern regex = Pattern.compile(check); Matcher matcher = regex.matcher(email); flag = matcher.matches(); } catch (Exception e) { flag = false; } return flag; } /** * 验证手机号码 * * @param mobiles * @return [0-9]{5,9} */ public static boolean isMobileNO(String mobiles) { boolean flag = false; try { Pattern p = Pattern .compile("^((13[0-9])|(15[^4,\\D])|(18[0,5-9]))\\d{8}$"); Matcher m = p.matcher(mobiles); flag = m.matches(); } catch (Exception e) { flag = false; } return flag; } public static boolean isNum(String number) { boolean flag = false; try { Pattern p = Pattern.compile("^[0-9]{5}$"); Matcher m = p.matcher(number); flag = m.matches(); } catch (Exception e) { flag = false; } return flag; } }
如有疑问的同学,请参看:http://heimacxy.blog.163.com/blog/static/1903840442011611112028947/ 或 http://www.cnblogs.com/hm-chentao
相关文章推荐
- Java基础知识强化72:正则表达式之判断功能(手机号码判断 和 校验邮箱)
- java正则表达式验证邮箱、IP地址、手机号码
- java正则表达式验证邮箱、IP地址、手机号码
- 黑马程序员_Java基础_正则表达式,校验QQ号,手机号,邮箱,IP地址排序,网络爬虫
- 手机号码、邮箱匹配正则表达式java实现练手
- java正则表达式验证邮箱、IP地址、手机号码
- java正则表达式表单验证类工具类(验证邮箱、手机号码、qq号码等)
- 校验手机号码的正则表达式写法 (java实现)
- java正则表达式验证邮箱、IP地址、手机号码
- java 判断手机号码和邮箱的正则表达式
- ------------------java正则表达式验证邮箱、手机号码
- Java验证邮箱和手机号码正则表达式
- java正则表达式验证邮箱、IP地址、手机号码
- java正则表达式验证邮箱、IP地址、手机号码
- java正则表达式验证手机号码,ip地址和邮箱
- [转]java正则表达式验证手机号码ip,邮箱
- java正则表达式验证邮箱、IP地址、手机号码
- java正则表达式验证邮箱、IP地址、手机号码
- java正则表达式表单验证类工具类(验证邮箱、手机号码、qq号码等)
- java正则表达式验证手机号码ip,邮箱