public class ConfirmPhoneNum {
public static boolean validate(String regEx,Object value)
{
if(regEx!=null&&value!=null){
Pattern pat=Pattern.compile(regEx);
Matcher mat=pat.matcher(value.toString());
if(!mat.find()){
return false;
}
return true;
}
else{
return false;
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
//验证以13开头的电话号码
String regEx="^13[0-9]{9}$";
System.out.println(validate(regEx,"13876343243"));
System.out.println(validate(regEx,"14333333325"));
}
}
正则表达式的重点与难点:
1.贪婪匹配,安照规则匹配最多;
2.懒惰匹配,尽可能少的匹配;
3.最先开始原则,取从最先开始满足条件的内容。
上面的代码,满足开放原则,对修改封闭,对扩展开放。如果是检测以13和15开头的电话号码,只需要改成String regEx="^13|15[0-9]{9}$";
进一步学习的网址,http://www.cnblogs.com/jamesping/articles/2252675.html