Java代码  
  1. import java.util.regex.Matcher;
  2. import java.util.regex.Pattern;
  3. /**
  4. * @author        Der
  5. * @date          2006-10-23
  6. * @packeage_name regex
  7. *
  8. */
  9. public class RegexChk
  10. {
  11. public  boolean startCheck(String reg,String string)
  12. {
  13. boolean tem=false;
  14. Pattern pattern = Pattern.compile(reg);
  15. Matcher matcher=pattern.matcher(string);
  16. tem=matcher.matches();
  17. return tem;
  18. }
  19. /**
  20. * 检验整数,适用于正整数、负整数、0,负整数不能以-0开头,
  21. * 正整数不能以0开头
  22. *
  23. * */
  24. public boolean checkNr(String nr)
  25. {
  26. String reg="^(-?)[1-9]+\\d*|0";
  27. return startCheck(reg,nr);
  28. }
  29. /**
  30. * 手机号码验证,11位,不知道详细的手机号码段,只是验证开头必须是1和位数
  31. * */
  32. public boolean checkCellPhone(String cellPhoneNr)
  33. {
  34. String reg="^[1][\\d]{10}";
  35. return startCheck(reg,cellPhoneNr);
  36. }
  37. /**
  38. * 检验空白符
  39. * */
  40. public boolean checkWhiteLine(String line)
  41. {
  42. String regex="(\\s|\\t|\\r)+";
  43. return startCheck(regex,line);
  44. }
  45. /**
  46. * 检查EMAIL地址
  47. * 用户名和网站名称必须>=1位字符
  48. * 地址结尾必须是以com|cn|com|cn|net|org|gov|gov.cn|edu|edu.cn结尾
  49. * */
  50. public boolean checkEmailWithSuffix(String email)
  51. {
  52. String regex="\\w+\\@\\w+\\.(com|cn|com.cn|net|org|gov|gov.cn|edu|edu.cn)";
  53. return startCheck(regex,email);
  54. }
  55. /**
  56. * 检查EMAIL地址
  57. * 用户名和网站名称必须>=1位字符
  58. * 地址结尾必须是2位以上,如:cn,test,com,info
  59. * */
  60. public boolean checkEmail(String email)
  61. {
  62. String regex="\\w+\\@\\w+\\.\\w{2,}";
  63. return startCheck(regex,email);
  64. }
  65. /**
  66. * 检查邮政编码(中国),6位,第一位必须是非0开头,其他5位数字为0-9
  67. * */
  68. public boolean checkPostcode(String postCode)
  69. {
  70. String regex="^[1-9]\\d{5}";
  71. return startCheck(regex,postCode);
  72. }
  73. /**
  74. * 检验用户名
  75. * 取值范围为a-z,A-Z,0-9,"_",汉字,不能以"_"结尾
  76. * 用户名有最小长度和最大长度限制,比如用户名必须是4-20位
  77. * */
  78. public boolean checkUsername(String username,int min,int max)
  79. {
  80. String regex="[\\w\u4e00-\u9fa5]{"+min+","+max+"}(?<!_)";
  81. return startCheck(regex,username);
  82. }
  83. /**
  84. * 检验用户名
  85. * 取值范围为a-z,A-Z,0-9,"_",汉字,不能以"_"结尾
  86. * 有最小位数限制的用户名,比如:用户名最少为4位字符
  87. * */
  88. public boolean checkUsername(String username,int min)
  89. {
  90. //[\\w\u4e00-\u9fa5]{2,}?
  91. String regex="[\\w\u4e00-\u9fa5]{"+min+",}(?<!_)";
  92. return startCheck(regex,username);
  93. }
  94. /**
  95. * 检验用户名
  96. * 取值范围为a-z,A-Z,0-9,"_",汉字
  97. * 最少一位字符,最大字符位数无限制,不能以"_"结尾
  98. * */
  99. public boolean checkUsername(String username)
  100. {
  101. String regex="[\\w\u4e00-\u9fa5]+(?<!_)";
  102. return startCheck(regex,username);
  103. }
  104. /**
  105. *  查看IP地址是否合法
  106. * */
  107. public boolean checkIP(String ipAddress)
  108. {
  109. String regex="(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])\\." +
  110. "(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])\\." +
  111. "(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])\\." +
  112. "(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])";
  113. return startCheck(regex,ipAddress);
  114. }
  115. /**
  116. * 验证国内电话号码
  117. * 格式:010-67676767,区号长度3-4位,必须以"0"开头,号码是7-8位
  118. * */
  119. public boolean checkPhoneNr(String phoneNr)
  120. {
  121. String regex="^[0]\\d{2,3}\\-\\d{7,8}";
  122. return startCheck(regex,phoneNr);
  123. }
  124. /**
  125. * 验证国内电话号码
  126. * 格式:6767676, 号码位数必须是7-8位,头一位不能是"0"
  127. * */
  128. public boolean checkPhoneNrWithoutCode(String phoneNr)
  129. {
  130. String reg="^[1-9]\\d{6,7}";
  131. return startCheck(reg,phoneNr);
  132. }
  133. /**
  134. * 验证国内电话号码
  135. * 格式:0106767676,共11位或者12位,必须是0开头
  136. * */
  137. public boolean checkPhoneNrWithoutLine(String phoneNr)
  138. {
  139. String reg="^[0]\\d{10,11}";
  140. return startCheck(reg,phoneNr);
  141. }
  142. /**
  143. * 验证国内身份证号码:15或18位,由数字组成,不能以0开头
  144. * */
  145. public boolean checkIdCard(String idNr)
  146. {
  147. String reg="^[1-9](\\d{14}|\\d{17})";
  148. return startCheck(reg,idNr);
  149. }
  150. /**
  151. * 网址验证<br>
  152. * 符合类型:<br>
  153. *         http://www.test.com<br>
  154. *         http://163.com
  155. * */
  156. public boolean checkWebSite(String url)
  157. {
  158. //http://www.163.com
  159. String reg="^(http)\\://(\\w+\\.\\w+\\.\\w+|\\w+\\.\\w+)";
  160. return startCheck(reg,url);
  161. }
  162. }

本文转载自:http://der.iteye.com/blog/199489     在此感谢: 博主uidin的辛勤工作

java使用正则表达式——实例的更多相关文章

  1. Java 正则表达式实例操作

    Regular Expression正则表达式,简称RegExp,常规通用的表达式,在多个开发语言中都有它的实现,可以通过正则表达式来快速的检索.匹配.查找.替换字符串中的文本. 简单实例 匹配网址 ...

  2. Java正则表达式实例详解

    创建正则表达式 你可以从比较简单的东西入手学习正则表达式.要想全面地掌握怎样构建正则表达式,可以去看JDK 文档的java.util.regex 的Pattern 类的文档. 字符 B 字符B \xh ...

  3. java基础---->java中正则表达式二

    跟正则表达式相关的类有:Pattern.Matcher和String.今天我们就开始Java中正则表达式的学习. Pattern和Matcher的理解 一.正则表达式的使用方法 一般推荐使用的方式如下 ...

  4. Java Script正则表达式语法学习

    今天在做页面交互验证时,在HTML里面第一反应居然用了Java 处理正则表达式的语法... ---------------------------------题记 学习来源 http://www.ru ...

  5. JAVA中正则表达式学习总结

    一.JAVA中正则表达式相关的类 1. java.util.regex.Pattern 该类用于编译模式,模式可以理解为一个正则表达式,比如:a*b. 用法如下: // 创建模式 Pattern p ...

  6. Java:正则表达式

    Java:正则表达式 package com.fsti.icop.util.regexp; import java.util.regex.Matcher; import java.util.regex ...

  7. JS和PHP和JAVA的正则表达式的区别(java没有分解符,java中的转义字符是\\)

    JS和PHP和JAVA的正则表达式的区别(java没有分解符,java中的转义字符是\\) 一.总结 js正则:var patrn=/^[0-9]{1,20}$/; php正则:$pattern='/ ...

  8. Java 类的实例变量初始化的过程 静态块、非静态块、构造函数的加载顺序

    先看一道Java面试题: public class Baset { private String baseName = "base"; // 构造方法 public Baset() ...

  9. JAVA上百实例源码以及开源项目

    简介 笔者当初为了学习JAVA,收集了很多经典源码,源码难易程度分为初级.中级.高级等,详情看源码列表,需要的可以直接下载! 这些源码反映了那时那景笔者对未来的盲目,对代码的热情.执着,对IT的憧憬. ...

随机推荐

  1. 使用记事本+CSC编译程序

    本次学习主要阐明.NET开发可以不使用VS,也能像Java一样使用命令窗口.但实际意义不大. 诸位看管不必太留意.(仅供留着给公司新人,树(tree)新(new)风(bee)用.) 1.新建一个文本文 ...

  2. PCB特征阻抗计算神器Polar SI9000安装及破解指南

    近年来,IC集成度的提高和应用,其信号传输频率和速度越来越高,因而在印制板导线中,信号传输(发射)高到某一定值后,便会受到印制板导线本身的影响,从而导致传 输信号的严重失真或完全丧失.这表明,PCB导 ...

  3. ubuntu 14.04 下 安装samba 及SSH 服务端的方法

    之前说了 FTP服务器的搭建:http://www.cnblogs.com/bcsflilong/p/4200139.html 今天说一下samba 和ssh服务器的搭建. 先说samba 吧. 在u ...

  4. vim 安装与运行以及代码的运行

    vi功能是最弱的,也是*nix操蛋之后最基本的editor.后来vi被增强加入众多特性,这就是vim.再后来vim加入图形接口,gvim诞生了.功能最强的是gvim,它的很多特性vim并不支持,vi更 ...

  5. ASP.NET中的常用快捷键

    想查找ASP.NET中的属性快捷键,忘记了,搜了一下,找到了ASP.NET中的常用快捷键. 大神文章:http://www.cnblogs.com/xiacao/archive/2012/06/12/ ...

  6. R简易入门(二)

    本文内容来源:https://www.dataquest.io/mission/128/working-with-data-frames 本文摘要:简单介绍一下用R处理数据   原始数据展示(这是一份 ...

  7. Python开发【第一篇】Python基础之正则表达式补充

    正则表达式 一简介:就其本质而言,正则表达式(或RE)是一种小型的.高度专业化的标称语言,(在Python中)它内嵌在Python中,并通过re模块实现.正则表达式模式被编译成一系列的字节码,然后由用 ...

  8. wpf 仿QQ音乐歌词卡拉OK

    最近用WPF做了个音乐播放器,读取歌词.歌词同步都已经实现了.卡拉OK逐字变色 也实现了,但是逐字变色时不能根据歌手唱的快慢来逐字显示.请问各位大神,这个如何解决,有何思路?(附上我做的界面) 感谢各 ...

  9. Infobright高性能数据仓库

    1.  概述 Infobright是一款基于独特的专利知识网格技术的列式数据库.Infobright简单易用,快速安装部署,使用中无需复杂操作,能大幅度减少管理工作:在应对50TB甚至更多数据量进行多 ...

  10. COALESCE在SQL拼接中的大用途

    SQL拼接可以使得代码比较灵活,不会那么死板,对于维护也比较方便. 下面是简单的SQL拼接,同时也包含了隐式游标的概念吧,可以遍历表中的每一个字段 -------------------------- ...