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的憧憬. ...
随机推荐
- boost:program_options
由于系统库getopt和getopt_long用起来不够直观,仔细看了下boost发现Boost.Program_options可以满足我的需求,它和getopt系列函数一样,可以抓起命令行参数,这里 ...
- Linux下iftop网卡流量监控使用
在类linux系统中可以使用top查看系统资源.进程.内存占用等信息.查看网络状态可以使用netstat.nmap等工具.若要查看实时的网络流量,监控TCP/IP连接等,则可以使用iftop. 一.i ...
- webBrowser执行js的方法,并返回值,c#后台取值
private void Form1_Load(object sender, EventArgs e) { webBrowser1.Navigate(Application.StartupPath + ...
- (一)熟悉执行流程——基于ThinkPHP3.2的内容管理框架OneThink学习
ThinkPHP作为国内具有代表性的PHP框架,经过多年的发展,受到越来越多公司与开发者的青睐.我也在忙里偷闲中抽出部分时间,来学习这个优秀的框架.在开始学习这个框架时,最好通过实例来学习,更容易结合 ...
- Apache 2.4 多站点配置记录
基于域名的虚拟主机配置 <VirtualHost *:80> DocumentRoot /var/www/cms ServerName www.example.com RewriteEng ...
- sql语句中like匹配的用法详解
在SQL结构化查询语言中,LIKE语句有着至关重要的作用. LIKE语句的语法格式是:select * from 表名 where 字段名 like 对应值(子串),它主要是针对字符型字段的,它的作用 ...
- 22 高级SQL特性
1.约束 为正确地进行关系数据库设计,需要一种方法来保证只在表中插入合法的数据.例如,如果Orders表存储订单信息,OrderItems表存储订单详细内容,应该保证Orderitems中引用的任何订 ...
- C# this指针用法
this指针是什么: 这里有一些面向对象编程的概念需要说明:类(Class)的概念和对象(Object)的概念类是对事物概括,也是C#编码时所有代码归属的基本单位:而对象是对类的实例化,也就是C#里n ...
- spring多数据源配置
项目中我们经常会遇到多数据源的问题,尤其是数据同步或定时任务等项目更是如此.多数据源让人最头痛的,不是配置多个数据源,而是如何能灵活动态的切换数据源.例如在一个spring和hibernate的框架的 ...
- win2008修改最大远程桌面连接数
win2008修改最大远程桌面连接数 运行——gredit.msc——管理模板——windows组件——远程桌面服务——远程桌面回话主机——连接——限制连接的数量——修改为999999