java使用正则表达式——实例
- import java.util.regex.Matcher;
- import java.util.regex.Pattern;
- /**
- * @author Der
- * @date 2006-10-23
- * @packeage_name regex
- *
- */
- public class RegexChk
- {
- public boolean startCheck(String reg,String string)
- {
- boolean tem=false;
- Pattern pattern = Pattern.compile(reg);
- Matcher matcher=pattern.matcher(string);
- tem=matcher.matches();
- return tem;
- }
- /**
- * 检验整数,适用于正整数、负整数、0,负整数不能以-0开头,
- * 正整数不能以0开头
- *
- * */
- public boolean checkNr(String nr)
- {
- String reg="^(-?)[1-9]+\\d*|0";
- return startCheck(reg,nr);
- }
- /**
- * 手机号码验证,11位,不知道详细的手机号码段,只是验证开头必须是1和位数
- * */
- public boolean checkCellPhone(String cellPhoneNr)
- {
- String reg="^[1][\\d]{10}";
- return startCheck(reg,cellPhoneNr);
- }
- /**
- * 检验空白符
- * */
- public boolean checkWhiteLine(String line)
- {
- String regex="(\\s|\\t|\\r)+";
- return startCheck(regex,line);
- }
- /**
- * 检查EMAIL地址
- * 用户名和网站名称必须>=1位字符
- * 地址结尾必须是以com|cn|com|cn|net|org|gov|gov.cn|edu|edu.cn结尾
- * */
- public boolean checkEmailWithSuffix(String email)
- {
- String regex="\\w+\\@\\w+\\.(com|cn|com.cn|net|org|gov|gov.cn|edu|edu.cn)";
- return startCheck(regex,email);
- }
- /**
- * 检查EMAIL地址
- * 用户名和网站名称必须>=1位字符
- * 地址结尾必须是2位以上,如:cn,test,com,info
- * */
- public boolean checkEmail(String email)
- {
- String regex="\\w+\\@\\w+\\.\\w{2,}";
- return startCheck(regex,email);
- }
- /**
- * 检查邮政编码(中国),6位,第一位必须是非0开头,其他5位数字为0-9
- * */
- public boolean checkPostcode(String postCode)
- {
- String regex="^[1-9]\\d{5}";
- return startCheck(regex,postCode);
- }
- /**
- * 检验用户名
- * 取值范围为a-z,A-Z,0-9,"_",汉字,不能以"_"结尾
- * 用户名有最小长度和最大长度限制,比如用户名必须是4-20位
- * */
- public boolean checkUsername(String username,int min,int max)
- {
- String regex="[\\w\u4e00-\u9fa5]{"+min+","+max+"}(?<!_)";
- return startCheck(regex,username);
- }
- /**
- * 检验用户名
- * 取值范围为a-z,A-Z,0-9,"_",汉字,不能以"_"结尾
- * 有最小位数限制的用户名,比如:用户名最少为4位字符
- * */
- public boolean checkUsername(String username,int min)
- {
- //[\\w\u4e00-\u9fa5]{2,}?
- String regex="[\\w\u4e00-\u9fa5]{"+min+",}(?<!_)";
- return startCheck(regex,username);
- }
- /**
- * 检验用户名
- * 取值范围为a-z,A-Z,0-9,"_",汉字
- * 最少一位字符,最大字符位数无限制,不能以"_"结尾
- * */
- public boolean checkUsername(String username)
- {
- String regex="[\\w\u4e00-\u9fa5]+(?<!_)";
- return startCheck(regex,username);
- }
- /**
- * 查看IP地址是否合法
- * */
- public boolean checkIP(String ipAddress)
- {
- String regex="(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])\\." +
- "(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])\\." +
- "(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])\\." +
- "(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])";
- return startCheck(regex,ipAddress);
- }
- /**
- * 验证国内电话号码
- * 格式:010-67676767,区号长度3-4位,必须以"0"开头,号码是7-8位
- * */
- public boolean checkPhoneNr(String phoneNr)
- {
- String regex="^[0]\\d{2,3}\\-\\d{7,8}";
- return startCheck(regex,phoneNr);
- }
- /**
- * 验证国内电话号码
- * 格式:6767676, 号码位数必须是7-8位,头一位不能是"0"
- * */
- public boolean checkPhoneNrWithoutCode(String phoneNr)
- {
- String reg="^[1-9]\\d{6,7}";
- return startCheck(reg,phoneNr);
- }
- /**
- * 验证国内电话号码
- * 格式:0106767676,共11位或者12位,必须是0开头
- * */
- public boolean checkPhoneNrWithoutLine(String phoneNr)
- {
- String reg="^[0]\\d{10,11}";
- return startCheck(reg,phoneNr);
- }
- /**
- * 验证国内身份证号码:15或18位,由数字组成,不能以0开头
- * */
- public boolean checkIdCard(String idNr)
- {
- String reg="^[1-9](\\d{14}|\\d{17})";
- return startCheck(reg,idNr);
- }
- /**
- * 网址验证<br>
- * 符合类型:<br>
- * http://www.test.com<br>
- * http://163.com
- * */
- public boolean checkWebSite(String url)
- {
- //http://www.163.com
- String reg="^(http)\\://(\\w+\\.\\w+\\.\\w+|\\w+\\.\\w+)";
- return startCheck(reg,url);
- }
- }
本文转载自:http://der.iteye.com/blog/199489 在此感谢: 博主uidin的辛勤工作
java使用正则表达式——实例的更多相关文章
- Java 正则表达式实例操作
Regular Expression正则表达式,简称RegExp,常规通用的表达式,在多个开发语言中都有它的实现,可以通过正则表达式来快速的检索.匹配.查找.替换字符串中的文本. 简单实例 匹配网址 ...
- Java正则表达式实例详解
创建正则表达式 你可以从比较简单的东西入手学习正则表达式.要想全面地掌握怎样构建正则表达式,可以去看JDK 文档的java.util.regex 的Pattern 类的文档. 字符 B 字符B \xh ...
- java基础---->java中正则表达式二
跟正则表达式相关的类有:Pattern.Matcher和String.今天我们就开始Java中正则表达式的学习. Pattern和Matcher的理解 一.正则表达式的使用方法 一般推荐使用的方式如下 ...
- Java Script正则表达式语法学习
今天在做页面交互验证时,在HTML里面第一反应居然用了Java 处理正则表达式的语法... ---------------------------------题记 学习来源 http://www.ru ...
- JAVA中正则表达式学习总结
一.JAVA中正则表达式相关的类 1. java.util.regex.Pattern 该类用于编译模式,模式可以理解为一个正则表达式,比如:a*b. 用法如下: // 创建模式 Pattern p ...
- Java:正则表达式
Java:正则表达式 package com.fsti.icop.util.regexp; import java.util.regex.Matcher; import java.util.regex ...
- JS和PHP和JAVA的正则表达式的区别(java没有分解符,java中的转义字符是\\)
JS和PHP和JAVA的正则表达式的区别(java没有分解符,java中的转义字符是\\) 一.总结 js正则:var patrn=/^[0-9]{1,20}$/; php正则:$pattern='/ ...
- Java 类的实例变量初始化的过程 静态块、非静态块、构造函数的加载顺序
先看一道Java面试题: public class Baset { private String baseName = "base"; // 构造方法 public Baset() ...
- JAVA上百实例源码以及开源项目
简介 笔者当初为了学习JAVA,收集了很多经典源码,源码难易程度分为初级.中级.高级等,详情看源码列表,需要的可以直接下载! 这些源码反映了那时那景笔者对未来的盲目,对代码的热情.执着,对IT的憧憬. ...
随机推荐
- 《linux源代码包的编译安装》RHEL6
linux下源代码包的编译安装其实没那么复杂. 我是win7系统装的虚拟机,就简单说下: 举个简单的例子: http://www.openssl.org/ 这是openssl的官网,下载openssl ...
- 关于Silverlight调用天气预报接口问题
问题:因Silverlight客户端不能直接调用webservice接口(外网天气接口),调用会出现跨域访问的问题,即使添加了跨域文件也不好使.解决方法如下 解决方法一:1.在服务端建立一个wcf服务 ...
- 扩展 delphi 线程 使之传递参数.
新delphi的线程TThread有了CreateAnonymousThread方法,如果再为它加一个可传递的参数不就更好了吗?代码如下: TAnonymousThreadX<T> = c ...
- openerp经典收藏 OpenERP库存管理的若干概念讲解(新增库存价值)(转载)
OpenERP库存管理的若干概念讲解(新增库存价值) 原文:http://shine-it.net/index.php/topic,2425.0/topicseen.html 一.复式库存(Doubl ...
- 你的数据根本不够大,别老扯什么Hadoop了
本文原名"Don't use Hadoop when your data isn't that big ",出自有着多年从业经验的数据科学家Chris Stucchio,纽约大学柯 ...
- Eclipse下jad反编译之“类文件查看器”不能处理给定的输入错误解决
Eclipse中的插件下载,安装和配置可以参考我的另一篇文章:MyEclipse反编译Class文件 下面重点讲解如何使用jad反编译 1.在DOS窗口中,到class所在目录,直接运行 >ja ...
- JNI-入门之一
下面我们开始编写HelloWorld程序,由于涉及到要编写c/c++代码因此我们会在开发中使用Microsoft VC++工具. 编写java代码我们在硬盘上建立一个hello目录作为我们的工作目录, ...
- mysql卸载
先执行mysql安装程序,点击移除,然后再删除对应的安装路径,必要的时候还要删除注册表信息.
- jquery-2.0.3.js和jquery-2.0.3.min.js的区别
两个文件的作用是完全一样的. jquery-2.0.3.js里的代码是没有进行处理的原代码,适合于人们阅读与研究. jquery-2.0.3.min.js里的代码进行过特殊的处理, 如变量的名称基本都 ...
- 屏蔽ios7中某个页面的默认手势滑回返回
- (void)viewWillDisappear:(BOOL)animated {[super viewWillDisappear:YES];self.navigationController.in ...