1. 邮政编码
boolean checkPostcode(){
Pattern p=Pattern.compile("[0-9]{6}");
Matcher m=p.matcher(inputStr);
if (!m.matches()){
System.out.println("****邮政编码格式不符!*****");
return false;
}
return true;
}
java.util.regex中有两个类:Pattern和Matcher。
Pattern为模板,Matcher为被匹配者。
打个比方,你心中已经有了你将来的另一半将会是怎样的想法(只是打个比方,无意招惹有了另一半的同志们),这个想法就是模板Pattern,现在你遇见了一位,她就是Matcher,于是你会用你的Pattern去和她比较(matches()),如果匹配成功,那么就有可能有一段佳话。
关于上面的程序不做详细解释,可以参考Java的API中Pattern和Matcher类的说明。
只介绍一下“[0-9]{6}”的意思。
[]中括号指定允许匹配的字符,恰如您心目中她要:温柔,端庄,聪慧,但是一个[]只能允许匹配单个字符。0-9表示0到9之间的任意数字,同样A-Z就表示A到Z之间的任意字母,连接符-的意思相信你已经掌握了。{}大括号表示匹配次数,这里就表示匹配6次,即必须有6个数字。
2.EMAIL
boolean checkEmail(){
Pattern p=Pattern.compile("[0-9A-Za-z]+@([0-9a-zA-Z]+.){1,2}(com|net|cn|com.cn)");
Matcher m=p.matcher(inputStr);
if(!m.matches()){
System.out.println("****电子邮件格式不符!*****");
return false;
}
return true;
}
这里就不多做解释,之给出匹配的表达式:
“[0-9A-Za-z]+@([0-9a-zA-Z]+.){1,2}(com|net|cn|com.cn)”。