当前位置:开发者网络 >> 技术教程 >> JSP教程 >> 资料/其它 >> 内容
精彩推荐
分类最新教程
分类热点教程
  
浅谈利用正则表达式检验常见输入
作者:未知
日期:2005-09-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中有两个类: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)”。

相关文章: