`

Java正则表达式验证

    博客分类:
  • Java
阅读更多

package com; 

import java.util.HashMap; 
import java.util.Iterator; 
import java.util.Map; 
import java.util.Scanner; 
import java.util.Set; 
import java.util.regex.Matcher; 
import java.util.regex.Pattern; 


/** 
* java正则表达式验证 
*/ 
public class RegExpTest 

 /**
     * 验证QQ号码
     *
     * @author lihaiming
     * @param QQ
     * @return
     */
    public static boolean checkQQ(String QQ) {
        String regex = "^[1-9][0-9]{4,}$";
        return check(QQ, regex);
    }

    private static boolean check(String str, String regex) {
        boolean flag = false;
        try {
            Pattern pattern = Pattern.compile(regex);
            Matcher matcher = pattern.matcher(str);
            flag = matcher.matches();
        } catch (Exception e) {
            flag = false;
        }
        return flag;
    }//此方法来源于:http://www.jb51.net/article/49409.htm

//java检测是否为电话号码(手机、固定电话验证)

String legalPhone = "";
String regExp ="^((13[0-9])|(15[^4,\\D])|(18[0,5-9]))\\d{8}|[0]{1}[0-9]{2,3}-[0-9]{7,8}$";
Pattern p = Pattern.compile(regExp);
Matcher m = p.matcher(importPotentialBFOs[i].getLegalPhone());
if(m.find()){ //注意:m.find只能用一次,第二次调用后都为false
 legalPhone = importPotentialBFOs[i].getLegalPhone();
 uploadTmp.setLegalTelephone(legalPhone);

}else{
 throw new BizException("联系电话格式错误!");
}//此方法来源于:http://blog.csdn.net/civilized/article/details/35231627

 

/**
     * 日期校验
     *
     * @author lihaiming
     * @param hhmmStr
     *            日期字符串(HH:mm)
     * @param format
     *            日期格式
     * @return
     */
    public static boolean isHhmm(String hhmmStr) {
        Pattern p = Pattern.compile("^(0\\d{1}|1\\d{1}|2[0-3]):[0-5]\\d{1}$");
        Matcher m = p.matcher(hhmmStr);
        boolean flag = m.matches();
        if (flag) {
            return true;
        } else {
            return false;
        }

    }//参考自:http://zhidao.baidu.com/link?url=PKeLU3kG5QSjXc8ZJ-fAWEhTzy379VQLAyYBWDf2G-fNWeoBuwdoXaMZkO8c3luDy1z-PTI_tXrBl4jVrVDOA5kq2Ys9_UtpMa1fKg4YXkq

/**
     * 浮点数校验
     *
     * @param str
     *            字符串
     * @return
     */
    public static boolean isFloatDigit(String str) {
        return str.matches("[\\d]+\\.[\\d]+");
    }


    /** 
     * 正则验证方法一 
     */ 
    public static boolean regExpTest() { 
        //验证标识符必须由字母、数字、下划线组成 
        Pattern p = Pattern.compile("[a-z0-9A-Z_]+"); 
        Matcher m = p.matcher("aasdad"); 
        boolean flg = m.matches(); 
        System.out.println(flg); 
        return flg; 
    } 
    /** 
     * 正则验证方法二 
     */ 
    public  static boolean regExpTest2(String str) { 
        //匹配标识符必须由字母、数字、下划线组成,且开头和结尾不能有下划线 
        //String regex = "(^[a-z0-9A-Z])[a-z0-9A-Z_]+([a-z0-9-A-Z])"; 
        //匹配标识符必须由字母、数字、下划线组成,且开头和结尾不能有下划线,且中间的字符至少1个不能超过5个 
        String regex = "(^[a-z0-9A-Z])[a-z0-9A-Z_]{1,5}([a-z0-9-A-Z])"; 
        boolean flg = Pattern.matches(regex, str); 
        System.out.println(flg); 
        return flg; 
    } 
    /** 
     * 去掉前后空格 
     */ 
    public  static String regExpTest3(String str) { 
        //去掉前后空格方法一 
        //String regex = "^\\[(.*)\\]$"; 
        //String s1 = str.replaceAll(regex, "$1"); 
        //方法二,注:replace方法无正则匹配 
        String regex = "^\\[|\\]$"; 
        String s1 = str.replaceAll(regex, ""); 
        
        System.out.println(s1); 
        return s1; 
    } 
    /** 
     * 验证邮箱格式"^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$"//email地址 
     */ 
    public static boolean regExpTest4(String str) { 
        String regex = "^[\\w-]+(\\.[\\w-]+)*\\@([\\.\\w-]+)+$"; 
        boolean flg = Pattern.matches(regex, str); 
        System.out.println(flg); 
        return flg; 
    } 
    /** 
     * 验证电话号码 
     */ 
    public  static boolean regExpTest5(String str){ 
       // "(d+-)?(d{4}-?d{7}|d{3}-?d{8}|^d{7,8})(-d+)?"     //电话号码 
        //String regex = "\\d{3}-\\d{4}-\\d{7,8}-\\d{3}"; 
        String regex = "(\\d+-)?(\\d{4}-\\d{7,8})(-\\d+)"; 
        boolean flg = Pattern.matches(regex, str); 
        System.out.println(flg); 
        return flg; 
    } 

  1. /** 
  2.      * 手机号验证 
  3.      *  
  4.      * @param  str 
  5.      * @return 验证通过返回true 
  6.      */  
  7.     public static boolean isMobile(String str) {   
  8.         Pattern p = null;  
  9.         Matcher m = null;  
  10.         boolean b = false;   
  11.         p = Pattern.compile("^[1][3,4,5,8][0-9]{9}$"); // 验证手机号  
  12.         m = p.matcher(str);  
  13.         b = m.matches();   
  14.         return b;  
  15.     } 


    public static void regExpTest6(String str){ 
        String regex = "(\\d+-)?(\\d{4}-\\d{7,8})(-\\d+)"; 
        Pattern p = Pattern.compile(regex); 
        Matcher m = p.matcher(str); 
        int count = m.groupCount(); 
        System.out.println(count); 
        m.find();//尝试查找与该模式匹配的输入序列的下一个子序列。 
        for(int i=1;i<=count;i++) { 
            System.out.println(m.group(i)); 
        } 
    } 
    /**
     * 包含数字或特殊符号
     *
     * @author lihaiming
     * @param str
     *            字符串
     * @return
     */
    public static boolean hasNumberOrSpecialSym(String str) {
        String E1 = "[`~!@#$%^&*()+=|{}':;',\\[\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“’。,、?]";// 英文
        String E2 = "[0-9]";// 数字

        String temp = null;
        for (int i = 0; i < str.length(); i++) {
            temp = String.valueOf(str.charAt(i));
            if (temp.matches(E1) || temp.matches(E2)) {
                return true;
            }

        }
        return false;
    }//此方法参考自:http://blog.csdn.net/qiaqia609/article/details/11088101,http://www.sharejs.com/codes/java/6228

    public static void main(String[] args) 
    { 
        //从键盘读取文件 
       /* Scanner sn = new Scanner(System.in); 
        RegExpTest.regExpTest(); 
        RegExpTest.regExpTest2("asdasaa"); 
        RegExpTest.regExpTest3("[aa,bb,cc]"); 
        RegExpTest.regExpTest4("-lgt.q983@hotmail.com.net"); 
        //RegExpTest.regExpTest5(sn.nextLine()); 
        */ 
        RegExpTest.regExpTest6("029-0913-3237259-020"); 
        
    } 
    
}

本文来源于:http://lgtq1983.iteye.com/blog/1324720

分享到:
评论

相关推荐

    java正则表达式验证IP地址

    Java正则表达式验证IP地址 Java正则表达式验证IP地址是指使用Java语言中的正则表达式来验证IP地址是否符合标准。IP地址是指在网络通信中用来标识设备的地址,它是一种逻辑地址,通过它可以找到网络中的设备。在...

    java正则表达式验证

    java正则表达式验证,包含:验证邮箱、验证IP地址、验证网址Ur、l验证电话号码、验证输入密码条件(字符与数据同时出现)、验证输入密码长度 (6-18位)、验证输入邮政编号等

    java 使用正则表达式验证电话号码的格式

    java 使用正则表达式验证电话号码的格式 java 使用正则表达式验证电话号码的格式

    java正则表达式.zip

    Java正则表达式是Java编程语言中用于处理字符串的强大工具,它基于模式匹配的概念,能够高效地进行文本搜索、替换和解析。在Java中,正则表达式主要通过`java.util.regex`包来实现,提供了Pattern和Matcher两个核心...

    java 正则表达式应用jar包 regex-smart.jar

    Java正则表达式是编程语言Java中的一个强大工具,它用于模式匹配、数据验证和文本检索替换。在Java中,正则表达式是通过java.util.regex包提供的接口和类来实现的。`regex-smart.jar`这个库显然是为了简化开发者在...

    JAVA正则表达式大全

    以下是对这些文档标题所涉及的Java正则表达式知识点的详细解释: 1. **正则表达式之道** 这个主题可能涵盖了正则表达式的基础概念,包括元字符、字符类、量词和分组。元字符如`.`代表任意字符,`^`表示行首,`$`...

    Java正则表达式.ppt

    Java正则表达式是一种强大的文本处理工具,广泛用于验证字符串、查找特定模式和替换文本。在Java中,正则表达式提供了简洁而灵活的方式来处理字符串,使得编程人员能够以更高效的方式实现各种文本操作。 正则表达式...

    使用Java正则表达式实现一个简单的身份证号码验证

    ### 使用Java正则表达式实现一个简单的身份证号码验证 #### 一、背景介绍 身份证号码是中国公民的身份标识,由15位或18位数字组成(早期为15位,后改为18位)。其中,第18位是校验码,可能是数字0~9或者大写字母X。...

    Java 正则表达式 验证 工具 0.1

    用来学习正则表达式的小工具(JAVA版的) 可以及时的测试自己写的正则表达式 Welcome to id0096.cn

    常用java正则表达式

    ### 常用Java正则表达式知识点 #### 一、引言 正则表达式是一种强大的工具,用于处理文本并查找模式。多种编程语言,包括Perl、PHP、Python、JavaScript以及Java等均内置了对正则表达式的支持。本文将详细介绍Java...

    Java正则表达式测试工具

    Java正则表达式测试工具是面向开发者和爱好者的一款实用程序,它可以帮助用户验证和调试他们的正则表达式。在Java编程环境中,正则表达式是一个强大的字符串处理工具,广泛用于数据验证、文本搜索和替换等任务。这款...

    正则表达式 Java 判断字串是否合理

    根据给定的文件信息,我们可以总结出以下...综上所述,通过以上知识点可以看出,Java正则表达式在处理各种格式的数据验证时非常实用且灵活。开发者可以根据具体需求选择合适的正则表达式来提高代码的健壮性和安全性。

    java正则表达式使用例子

    总结来说,Java正则表达式在Android开发中扮演着不可或缺的角色,它提供了一种灵活的方式来处理和验证字符串数据。通过熟练掌握正则表达式,开发者能够提高应用程序的质量,确保用户输入的有效性,并优化文本处理...

    Java正则表达式_动力节点Java学院整理

    这个示例代码使用了Java正则表达式来验证邮箱的格式是否正确。 Java正则表达式的常用语法 以下是一些常用的Java正则表达式语法: 1. `.`:匹配任何字符。 2. `*`:匹配零个或多个字符。 3. `+`:匹配一个或多个...

    Java正则表达式详细讲解

    下面是一些Java正则表达式的实例,包括邮箱验证、URL验证等。 ```java String emailRegex = "^[\\w-]+(\\.[\\w-]+)*@[\\w-]+(\\.[\\w-]+)+$"; String urlRegex = "^https?://([a-zA-Z0-9\\-\\.]+)\\.(com|org|net|...

    java正则表达式验证函数

    Java正则表达式验证函数是Java编程中用于检查字符串是否符合特定模式的一种工具。在Java中,正则表达式(Regular Expression)是一种强大的文本处理工具,可以用来匹配、查找、替换等多种操作。这个函数的目的是简化...

    正则表达式验证器,验证常用的编程语言的正则表达式

    "正则表达式验证器"是一个实用工具,它允许用户输入自定义的正则表达式,并通过提供测试用例来验证该表达式的正确性。 这个验证器特别适用于程序员,他们可能需要在多种不同的编程语言中使用正则表达式,如...

Global site tag (gtag.js) - Google Analytics