`
bjnick
  • 浏览: 17150 次
  • 性别: 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; //依次输出 "甲乙丙丁"
//           }
//
//   }




}

 
分享到:
评论

相关推荐

    正则表达式验证工具,正则表达式校验工具

    正则表达式验证工具 V1.0 本软件主要用于检测正则表达式是否正确。 运行环境:本软件为绿色软件,无需安装,但需要Microsoft .NET Framework 4 支持,如果没有请前去下载(下载路径:...

    c++写的正则表达式验证工具

    Boost库的正则表达式组件,即`boost::regex`,是C++实现正则表达式的常用选择之一,它提供了一套完整的API接口,使得在C++中编写正则表达式相关的代码变得相对简单。 在Visual Studio 2008环境下,开发者可以将...

    正则表达式验证金额格式

    下面是一段JavaScript代码示例,展示如何使用上述正则表达式验证输入: ```javascript function validateAmount(amountStr) { const regex = /^-?[0-9]+(\.[0-9]{1,2})?$/; return regex.test(amountStr); } ...

    使用正则表达式验证一年的12个月份

    在提供的压缩包文件"076"中,可能包含了用于演示或练习这个正则表达式的代码或数据。通过学习和理解这个例子,开发者可以加深对正则表达式的掌握,并提升在实际项目中的应用能力。无论是在网页表单验证、服务器端...

    邮箱及密码的正则表达式验证(C#)

    总结,通过上述C#代码,我们可以有效地对用户的邮箱和密码进行正则表达式验证,确保输入数据的准确性和安全性。在实际项目中,还可以根据具体需求调整正则表达式,以适应更复杂的验证规则。此外,为了提高用户体验,...

    正则表达式验证工具源码

    正则表达式验证工具源码 源码的简单描述: ...正则表达式验证工具,通过System.Text.RegularExpressions里边的Regex类的方法对输入的正则表达式与填写的字符串进行验证,界面干净简洁,功能实用,代码简单易懂。

    c#使用正则表达式验证身份证号码

    c#使用正则表达式验证身份证号码,工程完全可以运行,方便大家参考和学习

    jq非空验证,js正则表达式验证邮箱和手机号码

    在本案例中,我们关注的是使用jQuery(jq)进行非空验证,以及使用JavaScript(js)的正则表达式来验证邮箱和手机号码的正确性。以下是关于这些知识点的详细说明: 1. **jQuery(jq)非空验证**: jQuery是一种轻...

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

    总的来说,"正则表达式验证器"是一个强大的辅助工具,它简化了正则表达式的测试过程,让程序员可以更加专注于代码的其他部分。对于初学者来说,它是一个很好的学习工具,可以帮助理解正则表达式的运作方式;对于经验...

    JavaScript 数据校验 正则表达式 示例代码

    正则表达式 示例代码JavaScript 数据校验 正则表达式 示例代码JavaScript 数据校验 正则表达式 示例代码JavaScript 数据校验 正则表达式 示例代码JavaScript 数据校验 正则表达式 示例代码JavaScript 数据校验 正则...

    正则表达式 学习 全收集 chm pdf 正则表达式验证工具 exe

    正则表达式 学习 全收集 chm pdf 正则表达式验证工具 exe正则表达式 学习 全收集 chm pdf 正则表达式验证工具 exe正则表达式 学习 全收集 chm pdf 正则表达式验证工具 exe正则表达式 学习 全收集 chm pdf 正则表达式...

    js表单输入正则表达式验证代码

    在JavaScript(JS)中,表单输入的正则表达式验证是确保用户输入符合特定格式或规则的关键技术。正则表达式(Regular Expression)是一种强大的文本处理工具,它能用于匹配、查找、替换等字符串操作,尤其适用于数据...

    正则表达式验证器(附源代码)

    本项目提供的“正则表达式验证器”包含源代码,可以帮助开发者在工作中快速验证正则表达式的正确性,同时为学习C#中的正则表达式提供了实践平台。 首先,我们来看正则表达式的基本结构和语法。正则表达式由一系列...

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

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

    非常好的正则表达式验证工具

    通过"非常好的正则表达式验证工具",无论是初学者还是经验丰富的开发者,都能更好地理解和使用正则表达式,提升编程效率,确保代码质量。记得时常练习和探索,正则表达式将成为你强大的文本处理利器。

    java正则表达式验证IP地址

    Java正则表达式验证IP地址 Java正则表达式验证IP地址是指使用Java语言中的正则表达式来...Java正则表达式验证IP地址是我们在开发中非常有用的技术,可以帮助我们快速地验证IP地址,使得我们的代码更加简洁和高效。

    正则表达式转换工具

    - 数据验证:在表单提交时,可以使用正则表达式验证输入格式,如邮箱、电话号码等。 - 文件搜索:在代码编辑器中,使用正则表达式快速查找和替换特定模式的文本。 - 数据清洗:在数据预处理阶段,正则表达式可以...

    正则表达式验证、测试工具

    在编程和数据分析领域,正则表达式被广泛应用于数据验证、文本搜索和提取等方面。本篇将深入探讨正则表达式的核心概念、语法以及如何利用验证工具进行测试。 1. 正则表达式基本概念: - 元字符:如 `.`, `^`, `$`,...

    PB实现的正则表达式

    在压缩包中的"PbRegeXP"文件可能是作者提供的一个示例代码或库,包含了实现正则表达式的类、函数或其他组件。通过研究这个文件,开发者可以了解如何在PowerBuilder 11.5中构建自己的正则表达式解决方案。 在Power...

Global site tag (gtag.js) - Google Analytics