`
hfkiss44
  • 浏览: 49051 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

收集到的java 正则验证

阅读更多
import java.util.regex.*;

public final class RegExpValidator
{
    /**
     * 验证邮箱
     * @param 待验证的字符串
     * @return 如果是符合的字符串,返回 <b>true </b>,否则为 <b>false </b>
     */
    public static boolean isEmail(String str)
    {
        String regex = "^([\\w-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([\\w-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$";
        return match(regex, str);
    }
    
    /**
     * 验证IP地址
     * @param 待验证的字符串
     * @return 如果是符合格式的字符串,返回 <b>true </b>,否则为 <b>false </b>
     */
    public static boolean isIP(String str)
    {
        String num = "(25[0-5]|2[0-4]\\d|[0-1]\\d{2}|[1-9]?\\d)";
        String regex = "^" + num + "\\." + num + "\\." + num + "\\." + num + "$";
        return match(regex, str);
    }

    /**
     * 验证网址Url
     * @param 待验证的字符串
     * @return 如果是符合格式的字符串,返回 <b>true </b>,否则为 <b>false </b>
     */
    public static boolean IsUrl(String str)
    {
        String regex = "http(s)?://([\\w-]+\\.)+[\\w-]+(/[\\w- ./?%&=]*)?";
        return match(regex, str);
    }

    /**
     * 验证电话号码
     * @param 待验证的字符串
     * @return 如果是符合格式的字符串,返回 <b>true </b>,否则为 <b>false </b>
     */
    public static boolean IsTelephone(String str)
    {
        String regex = "^(\\d{3,4}-)?\\d{6,8}$";
        return match(regex, str);
    }
    
    /**
     * 验证输入密码条件(字符与数据同时出现)
     * @param 待验证的字符串
     * @return 如果是符合格式的字符串,返回 <b>true </b>,否则为 <b>false </b>
     */
    public static boolean IsPassword(String str)
    {
        String regex = "[A-Za-z]+[0-9]";
        return match(regex, str);
    }
    
    /**
     * 验证输入密码长度 (6-18位)
     * @param 待验证的字符串
     * @return 如果是符合格式的字符串,返回 <b>true </b>,否则为 <b>false </b>
     */
    public static boolean IsPasswLength(String str)
    {
        String regex = "^\\d{6,18}$";
        return match(regex, str);
    }
    
    /**
     * 验证输入邮政编号
     * @param 待验证的字符串
     * @return 如果是符合格式的字符串,返回 <b>true </b>,否则为 <b>false </b>
     */
    public static boolean IsPostalcode(String str)
    {
        String regex = "^\\d{6}$";
        return match(regex, str);
    }
    
    /**
     * 验证输入手机号码
     * @param 待验证的字符串
     * @return 如果是符合格式的字符串,返回 <b>true </b>,否则为 <b>false </b>
     */
    public static boolean IsHandset(String str)
    {
        String regex = "^[1]+[3,5]+\\d{9}$";
        return match(regex, str);
    }
    
    /**
     * 验证输入身份证号
     * @param 待验证的字符串
     * @return 如果是符合格式的字符串,返回 <b>true </b>,否则为 <b>false </b>
     */
    public static boolean IsIDcard(String str)
    {
        String regex = "(^\\d{18}$)|(^\\d{15}$)";
        return match(regex, str);
    }
    
    /**
     * 验证输入两位小数
     * @param 待验证的字符串
     * @return 如果是符合格式的字符串,返回 <b>true </b>,否则为 <b>false </b>
     */
    public static boolean IsDecimal(String str)
    {
        String regex = "^[0-9]+(.[0-9]{2})?$";
        return match(regex, str);
    }
    
    /**
     * 验证输入一年的12个月
     * @param 待验证的字符串
     * @return 如果是符合格式的字符串,返回 <b>true </b>,否则为 <b>false </b>
     */
    public static boolean IsMonth(String str)
    {
        String regex = "^(0?[[1-9]|1[0-2])$";
        return match(regex, str);
    }
    
    /**
     * 验证输入一个月的31天
     * @param 待验证的字符串
     * @return 如果是符合格式的字符串,返回 <b>true </b>,否则为 <b>false </b>
     */
    public static boolean IsDay(String str)
    {
        String regex = "^((0?[1-9])|((1|2)[0-9])|30|31)$";
        return match(regex, str);
    }
        
    
    /**
     * 验证日期时间
     * @param 待验证的字符串
     * @return 如果是符合网址格式的字符串,返回 <b>true </b>,否则为 <b>false </b>
     */
    public static boolean isDate(String str)
    {
        //严格验证时间格式的(匹配[2002-01-31], [1997-04-30], [2004-01-01])不匹配([2002-01-32], [2003-02-29], [04-01-01]) 
//        String regex = "^((((19|20)(([02468][048])|([13579][26]))-02-29))|((20[0-9][0-9])|(19[0-9][0-9]))-((((0[1-9])|(1[0-2]))-((0[1-9])|(1\\d)|(2[0-8])))|((((0[13578])|(1[02]))-31)|(((01,3-9])|(1[0-2]))-(29|30)))))$";
        //没加时间验证的YYYY-MM-DD
//        String regex = "^((((1[6-9]|[2-9]\\d)\\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\\d|3[01]))|(((1[6-9]|[2-9]\\d)\\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\\d|30))|(((1[6-9]|[2-9]\\d)\\d{2})-0?2-(0?[1-9]|1\\d|2[0-8]))|(((1[6-9]|[2-9]\\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-))$";
        //加了时间验证的YYYY-MM-DD 00:00:00
        String regex = "^((((1[6-9]|[2-9]\\d)\\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\\d|3[01]))|(((1[6-9]|[2-9]\\d)\\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\\d|30))|(((1[6-9]|[2-9]\\d)\\d{2})-0?2-(0?[1-9]|1\\d|2[0-8]))|(((1[6-9]|[2-9]\\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-)) (20|21|22|23|[0-1]?\\d):[0-5]?\\d:[0-5]?\\d$";
        return match(regex, str);
    }
    

    /**
     * 验证数字输入
     * @param 待验证的字符串
     * @return 如果是符合格式的字符串,返回 <b>true </b>,否则为 <b>false </b>
     */
    public static boolean IsNumber(String str)
    {
        String regex = "^[0-9]*$";
        return match(regex, str);
    }
    
    /**
     * 验证非零的正整数
     * @param 待验证的字符串
     * @return 如果是符合格式的字符串,返回 <b>true </b>,否则为 <b>false </b>
     */
    public static boolean IsIntNumber(String str)
    {
        String regex = "^\\+?[1-9][0-9]*$";
        return match(regex, str);
    }
    
    /**
     * 验证大写字母
     * @param 待验证的字符串
     * @return 如果是符合格式的字符串,返回 <b>true </b>,否则为 <b>false </b>
     */
    public static boolean IsUpChar(String str)
    {
        String regex = "^[A-Z]+$";
        return match(regex, str);
    }

    /**
     * 验证小写字母
     * @param 待验证的字符串
     * @return 如果是符合格式的字符串,返回 <b>true </b>,否则为 <b>false </b>
     */
    public static boolean IsLowChar(String str)
    {
        String regex = "^[a-z]+$";
        return match(regex, str);
    }
    
    /**
     * 验证验证输入字母
     * @param 待验证的字符串
     * @return 如果是符合格式的字符串,返回 <b>true </b>,否则为 <b>false </b>
     */
    public static boolean IsLetter(String str)
    {
        String regex = "^[A-Za-z]+$";
        return match(regex, str);
    }
    
    /**
     * 验证验证输入汉字
     * @param 待验证的字符串
     * @return 如果是符合格式的字符串,返回 <b>true </b>,否则为 <b>false </b>
     */
    public static boolean IsChinese(String str)
    {
        String regex = "^[\u4e00-\u9fa5],{0,}$";
        return match(regex, str);
    }
    
    /**
     * 验证验证输入字符串
     * @param 待验证的字符串
     * @return 如果是符合格式的字符串,返回 <b>true </b>,否则为 <b>false </b>
     */
    public static boolean IsLength(String str)
    {
        String regex = "^.{8,}$";
        return match(regex, str);
    }
    
    
    /**
     * @param regex 正则表达式字符串
     * @param str 要匹配的字符串
     * @return 如果str 符合 regex的正则表达式格式,返回true, 否则返回 false;
     */
    private static boolean match(String regex, String str)
    {
        Pattern pattern = Pattern.compile(regex);
        Matcher matcher = pattern.matcher(str);
        return matcher.matches();
    }
    
    
//    3. 检查字符串重复出现的词
//
//    private void btnWord_Click(object sender, EventArgs e)
//    {
//          System.Text.RegularExpressions.MatchCollection matches = System.Text.RegularExpressions.Regex.Matches(label1.Text, 
//
//            @"\b(?<word>\w+)\s+(\k<word>)\b", System.Text.RegularExpressions.RegexOptions.Compiled |            System.Text.RegularExpressions.RegexOptions.IgnoreCase);
//           if (matches.Count != 0)
//           {
//               foreach (System.Text.RegularExpressions.Match match in matches)
//               {
//                   string word = match.Groups["word"].Value;
//                   MessageBox.Show(word.ToString(),"英文单词");
//               }
//           }
//           else { MessageBox.Show("没有重复的单词"); }
//
//
//       } 
//
//4. 替换字符串
//
//  private void button1_Click(object sender, EventArgs e)
//  {
//
//           string strResult = System.Text.RegularExpressions.Regex.Replace(textBox1.Text, @"[A-Za-z]\*?", textBox2.Text);
//           MessageBox.Show("替换前字符:" + "\n" + textBox1.Text + "\n" + "替换的字符:" + "\n" + textBox2.Text + "\n" + 
//
//           "替换后的字符:" + "\n" + strResult,"替换");
//
//  }
//
//5. 拆分字符串
//
// private void button1_Click(object sender, EventArgs e)
//  {
//           //实例: 甲025-8343243乙0755-2228382丙029-32983298389289328932893289丁
//           foreach (string s in System.Text.RegularExpressions.Regex.Split(textBox1.Text,@"\d{3,4}-\d*"))
//           {
//               textBox2.Text+=s; //依次输出 "甲乙丙丁"
//           }
//
//   }




}


每天一点积累  好记性不如烂笔头
30
5
分享到:
评论
17 楼 zhang8mss 2012-11-26  
shadowsese 写道
这个东西太有帮助了,收藏啦。。。楼主辛苦了

别收 了,有错误的
16 楼 seven610 2010-01-19  
收藏了先。。。应该有用
15 楼 JackAndroid 2010-01-17  
收藏下,估计以后会有用
14 楼 anhaoy 2010-01-15  
我严重怀疑它们的正确性!
13 楼 yadsun 2010-01-14  
引用
好记性不如烂笔头
非常有同感
12 楼 wdpyyxal 2010-01-14  
多谢了!正愁呢!
11 楼 seagulls88 2010-01-14  
晕,看了功能是比较齐全了,可是后面的方法命名没按规范
10 楼 shadowsese 2010-01-13  
这个东西太有帮助了,收藏啦。。。楼主辛苦了
9 楼 xici_magic 2010-01-13  
太好了  收藏了。
8 楼 pzpyp 2010-01-13  
很经典,很少见到这么全的,赞一个!!!
7 楼 msi110 2010-01-13  
在平时的工作过程中都没有好好总结,每到用时就到处在网上搜。哎!看来我也应该好好总结一下,收藏了!3Q
6 楼 jsj05506 2010-01-12  
正在学习正则表达式...
5 楼 bbym010 2010-01-12  
很全,收藏了,谢谢
4 楼 xiaodouya 2010-01-11  
楼主辛苦,值得收藏
3 楼 terryshao 2010-01-11  
楼主辛苦啦
2 楼 汤姆猫 2010-01-11  
nypcs 写道
不错啊,收藏了,以后肯定有用,谢谢。。

1 楼 nypcs 2010-01-11  
不错啊,收藏了,以后肯定有用,谢谢。。

相关推荐

    个人收集的JAVA正则表达式

    这个个人收集的JAVA正则表达式资源库可能包含了各种常见的正则表达式模式,方便开发者在日常工作中快速查找和使用。 1. **正则表达式基础** - **元字符**: 如`.`代表任意字符,`^`表示行首,`$`表示行尾,`\d`代表...

    java script 正则表达式验证大全

    正则表达式验证 java script 验证大全 部分: 下面都是我收集的一些比较常用的正则表达式,因为平常可能在表单验证的时候,用到的比较多。特发出来,让各位朋友共同使用。呵呵。 匹配中文字符的正则表达式: [u4...

    java11编译的正则匹配测试器

    Java 11正则匹配测试器是一个专门设计用于验证和测试正则表达式的实用工具,它可以帮助开发者在编写和调试正则表达式时提高效率。这个工具是使用Java 11进行编译和构建的,因此为了正确运行,你的开发环境必须至少...

    表单验证(用到正则表达式)

    JSP可以通过使用Java的Pattern和Matcher类来实现正则验证。以下是一个简单的例子: ```jsp String email = request.getParameter("email"); String emailRegex = "^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]...

    當用漢字的正则表达式验证

    在深入探讨“當用漢字的正则表达式验证”这一主题之前,我们先来了解一下基本概念。正则表达式(Regular Expression),简称regex或regexp,是一种强大的文本处理工具,用于字符串搜索、替换以及提取等操作。在各种...

    Java一些常用验证整理

    这里的【标题】"Java一些常用验证整理"和【描述】"Java一些常用验证整理,附有有关代码"指的是收集并整理了一些常见的Java验证方法。这些方法主要用于检查用户输入、数据交换等场景中的字符串格式,以确保其合法性。...

    个人收集的大部分正则表达式

    正则表达式由普通字符(如字符 'a' 到 'z')和特殊字符(或称为元字符)组成。一些常见的元字符包括: - `.`:匹配任意单个字符(除换行符) - `*`:匹配前面的字符0次或多次 - `+`:匹配前面的字符1次或多次 -...

    JS验证URL正则表达式.txt

    ### 一、JS验证URL正则表达式 #### 1. 正则表达式的结构分析 在给定的部分内容中,定义了一个JavaScript函数`functionIsURL(str_url)`,该函数利用正则表达式来验证传入的字符串是否为一个合法的URL。 ##### 正则...

    正则表达式大全.docx

    在下面,我们将收集一些常用的正则表达式,以备不时之需。 1. 用户名:/^[a-z0-9_A-Z]{3,16}$/ 该正则表达式用于匹配用户名,要求用户名只能包含小写字母、数字、下划线和大写字母,长度在 3 到 16 个字符之间。 ...

    精通正则表达式~~~

    Java的正则流派... 366 Java对\p{…}和\P{…}的支持... 369 Unicode行终结符... 370 使用java.util.regex. 371 The Pattern.compile() Factory. 372 Pattern的matcher方法... 373 Matcher对象... 373 应用...

    正则表达式工具RegexBuddy3

    RegexBuddy3是一款强大的正则表达式工具,它集合了验证、测试、收集和生成正则表达式等多种功能,帮助用户更高效地处理与正则表达式相关的问题。 在RegexBuddy3中,用户可以: 1. **验证正则表达式**:输入一个...

    Android EditText 正则表达式 限制数字、字母、字符 输入 密码框

    在Android开发中,`EditText`是用于用户输入文本的基本组件,常常用于收集用户的数据,如密码、邮箱地址等。为了确保用户输入的数据符合特定格式,我们可以利用正则表达式(Regular Expression)进行验证。正则...

    正则表达式

    [JAVA] javascript 正则表达式 秋雨叶 发表于 2004-12-9 14:54:13 正则表达式是一个描述字符模式的对象。 JavaScript的RegExp对象和String对象定义了使用正则表达式来执行强大的模式匹配和文本检索与替换函数的...

    一个java正规表达式工具类

    Java正则表达式工具类是Java编程中一个非常实用的组件,它可以帮助开发者处理和验证字符串,进行数据提取、格式检查等操作。在Java中,正则表达式是通过`java.util.regex`包来实现的,这个包提供了一系列的类和接口...

    正则表达式各种资料搜集

    在"正则表达式各种资料搜集"的压缩包中,我们可以期待找到一系列关于正则表达式的资源,包括教程、示例、练习和可能的解析库,这些都是深入学习和熟练掌握正则表达式的关键。 1. **基础概念**:正则表达式由元字符...

    jdk1.8+正则表达式模拟器+CRT+soupUI+serverAgent.rar

    5. **ServerAgent**:ServerAgent是Atlassian开发的一款轻量级代理服务,常用于收集和转发服务器性能数据到Atlassian的监控工具,如StatusPage、Jira Service Desk或OpsGenie。它可以帮助团队远程监控服务器状态,...

    Reg(Java code)

    在"Auth and reg code by Java"这个主题中,我们主要讨论的是如何使用Java来实现认证(Authentication)和注册(Registration)功能,并可能涉及到正则表达式在验证用户输入中的应用。 首先,让我们来看看认证过程...

    正则使用和测试

    - **代码生成**:支持多种编程语言(如Java, C#, Python等),自动生成对应语言的代码片段,方便将正则表达式集成到项目中。 - **替换功能**:不仅能够检测匹配,还能进行替换操作,提供预览和批量替换的能力。 -...

Global site tag (gtag.js) - Google Analytics