浅谈利用正则表达式检验常见输入

发表于:2007-07-01来源:作者:点击数: 标签:
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中有两个类:Patt
 

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)”。

原文转自:http://www.ltesting.net