`
hard-work
  • 浏览: 13700 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java中的正则验证正在整理...

    博客分类:
  • java
阅读更多
  1. import java.util.regex.*;   
  2.   
  3. public final class RegExpValidator   
  4. {   
  5.     /**  
  6.      * 验证邮箱  
  7.      * @param 待验证的字符串  
  8.      * @return 如果是符合的字符串,返回 <b>true </b>,否则为 <b>false </b>  
  9.      */  
  10.     public static boolean isEmail(String str)   
  11.     {   
  12.         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})(\\]?)$";   
  13.         return match(regex, str);   
  14.     }   
  15.        
  16.     /**  
  17.      * 验证IP地址  
  18.      * @param 待验证的字符串  
  19.      * @return 如果是符合格式的字符串,返回 <b>true </b>,否则为 <b>false </b>  
  20.      */  
  21.     public static boolean isIP(String str)   
  22.     {   
  23.         String num = "(25[0-5]|2[0-4]\\d|[0-1]\\d{2}|[1-9]?\\d)";   
  24.         String regex = "^" + num + "\\." + num + "\\." + num + "\\." + num + "$";   
  25.         return match(regex, str);   
  26.     }   
  27.   
  28.     /**  
  29.      * 验证网址Url  
  30.      * @param 待验证的字符串  
  31.      * @return 如果是符合格式的字符串,返回 <b>true </b>,否则为 <b>false </b>  
  32.      */  
  33.     public static boolean IsUrl(String str)   
  34.     {   
  35.         String regex = "http(s)?://([\\w-]+\\.)+[\\w-]+(/[\\w- ./?%&=]*)?";   
  36.         return match(regex, str);   
  37.     }   
  38.   
  39.     /**  
  40.      * 验证电话号码  
  41.      * @param 待验证的字符串  
  42.      * @return 如果是符合格式的字符串,返回 <b>true </b>,否则为 <b>false </b>  
  43.      */  
  44.     public static boolean IsTelephone(String str)   
  45.     {   
  46.         String regex = "^(\\d{3,4}-)?\\d{6,8}$";   
  47.         return match(regex, str);   
  48.     }   
  49.        
  50.     /**  
  51.      * 验证输入密码条件(字符与数据同时出现)  
  52.      * @param 待验证的字符串  
  53.      * @return 如果是符合格式的字符串,返回 <b>true </b>,否则为 <b>false </b>  
  54.      */  
  55.     public static boolean IsPassword(String str)   
  56.     {   
  57.         String regex = "[A-Za-z]+[0-9]";   
  58.         return match(regex, str);   
  59.     }   
  60.        
  61.     /**  
  62.      * 验证输入密码长度 (6-18位)  
  63.      * @param 待验证的字符串  
  64.      * @return 如果是符合格式的字符串,返回 <b>true </b>,否则为 <b>false </b>  
  65.      */  
  66.     public static boolean IsPasswLength(String str)   
  67.     {   
  68.         String regex = "^\\d{6,18}$";   
  69.         return match(regex, str);   
  70.     }   
  71.        
  72.     /**  
  73.      * 验证输入邮政编号  
  74.      * @param 待验证的字符串  
  75.      * @return 如果是符合格式的字符串,返回 <b>true </b>,否则为 <b>false </b>  
  76.      */  
  77.     public static boolean IsPostalcode(String str)   
  78.     {   
  79.         String regex = "^\\d{6}$";   
  80.         return match(regex, str);   
  81.     }   
  82.        
  83.     /**  
  84.      * 验证输入手机号码  
  85.      * @param 待验证的字符串  
  86.      * @return 如果是符合格式的字符串,返回 <b>true </b>,否则为 <b>false </b>  
  87.      */  
  88.     public static boolean IsHandset(String str)   
  89.     {   
  90.         String regex = "^[1]+[3,5]+\\d{9}$";   
  91.         return match(regex, str);   
  92.     }   
  93.        
  94.     /**  
  95.      * 验证输入身份证号  
  96.      * @param 待验证的字符串  
  97.      * @return 如果是符合格式的字符串,返回 <b>true </b>,否则为 <b>false </b>  
  98.      */  
  99.     public static boolean IsIDcard(String str)   
  100.     {   
  101.         String regex = "(^\\d{18}$)|(^\\d{15}$)";   
  102.         return match(regex, str);   
  103.     }   
  104.        
  105.     /**  
  106.      * 验证输入两位小数  
  107.      * @param 待验证的字符串  
  108.      * @return 如果是符合格式的字符串,返回 <b>true </b>,否则为 <b>false </b>  
  109.      */  
  110.     public static boolean IsDecimal(String str)   
  111.     {   
  112.         String regex = "^[0-9]+(.[0-9]{2})?$";   
  113.         return match(regex, str);   
  114.     }   
  115.        
  116.     /**  
  117.      * 验证输入一年的12个月  
  118.      * @param 待验证的字符串  
  119.      * @return 如果是符合格式的字符串,返回 <b>true </b>,否则为 <b>false </b>  
  120.      */  
  121.     public static boolean IsMonth(String str)   
  122.     {   
  123.         String regex = "^(0?[[1-9]|1[0-2])$";   
  124.         return match(regex, str);   
  125.     }   
  126.        
  127.     /**  
  128.      * 验证输入一个月的31天  
  129.      * @param 待验证的字符串  
  130.      * @return 如果是符合格式的字符串,返回 <b>true </b>,否则为 <b>false </b>  
  131.      */  
  132.     public static boolean IsDay(String str)   
  133.     {   
  134.         String regex = "^((0?[1-9])|((1|2)[0-9])|30|31)$";   
  135.         return match(regex, str);   
  136.     }   
  137.            
  138.        
  139.     /**  
  140.      * 验证日期时间  
  141.      * @param 待验证的字符串  
  142.      * @return 如果是符合网址格式的字符串,返回 <b>true </b>,否则为 <b>false </b>  
  143.      */  
  144.     public static boolean isDate(String str)   
  145.     {   
  146.         //严格验证时间格式的(匹配[2002-01-31], [1997-04-30], [2004-01-01])不匹配([2002-01-32], [2003-02-29], [04-01-01])    
  147. //        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)))))$";   
  148.         //没加时间验证的YYYY-MM-DD   
  149. //        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-))$";   
  150.         //加了时间验证的YYYY-MM-DD 00:00:00   
  151.         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$";   
  152.         return match(regex, str);   
  153.     }   
  154.        
  155.   
  156.     /**  
  157.      * 验证数字输入  
  158.      * @param 待验证的字符串  
  159.      * @return 如果是符合格式的字符串,返回 <b>true </b>,否则为 <b>false </b>  
  160.      */  
  161.     public static boolean IsNumber(String str)   
  162.     {   
  163.         String regex = "^[0-9]*$";   
  164.         return match(regex, str);   
  165.     }   
  166.        
  167.     /**  
  168.      * 验证非零的正整数  
  169.      * @param 待验证的字符串  
  170.      * @return 如果是符合格式的字符串,返回 <b>true </b>,否则为 <b>false </b>  
  171.      */  
  172.     public static boolean IsIntNumber(String str)   
  173.     {   
  174.         String regex = "^\\+?[1-9][0-9]*$";   
  175.         return match(regex, str);   
  176.     }   
  177.        
  178.     /**  
  179.      * 验证大写字母  
  180.      * @param 待验证的字符串  
  181.      * @return 如果是符合格式的字符串,返回 <b>true </b>,否则为 <b>false </b>  
  182.      */  
  183.     public static boolean IsUpChar(String str)   
  184.     {   
  185.         String regex = "^[A-Z]+$";   
  186.         return match(regex, str);   
  187.     }   
  188.   
  189.     /**  
  190.      * 验证小写字母  
  191.      * @param 待验证的字符串  
  192.      * @return 如果是符合格式的字符串,返回 <b>true </b>,否则为 <b>false </b>  
  193.      */  
  194.     public static boolean IsLowChar(String str)   
  195.     {   
  196.         String regex = "^[a-z]+$";   
  197.         return match(regex, str);   
  198.     }   
  199.        
  200.     /**  
  201.      * 验证验证输入字母  
  202.      * @param 待验证的字符串  
  203.      * @return 如果是符合格式的字符串,返回 <b>true </b>,否则为 <b>false </b>  
  204.      */  
  205.     public static boolean IsLetter(String str)   
  206.     {   
  207.         String regex = "^[A-Za-z]+$";   
  208.         return match(regex, str);   
  209.     }   
  210.        
  211.     /**  
  212.      * 验证验证输入汉字  
  213.      * @param 待验证的字符串  
  214.      * @return 如果是符合格式的字符串,返回 <b>true </b>,否则为 <b>false </b>  
  215.      */  
  216.     public static boolean IsChinese(String str)   
  217.     {   
  218.         String regex = "^[\u4e00-\u9fa5],{0,}$";   
  219.         return match(regex, str);   
  220.     }   
  221.        
  222.     /**  
  223.      * 验证验证输入字符串  
  224.      * @param 待验证的字符串  
  225.      * @return 如果是符合格式的字符串,返回 <b>true </b>,否则为 <b>false </b>  
  226.      */  
  227.     public static boolean IsLength(String str)   
  228.     {   
  229.         String regex = "^.{8,}$";   
  230.         return match(regex, str);   
  231.     }   
  232.        
  233.        
  234.     /**  
  235.      * @param regex 正则表达式字符串  
  236.      * @param str 要匹配的字符串  
  237.      * @return 如果str 符合 regex的正则表达式格式,返回true, 否则返回 false;  
  238.      */  
  239.     private static boolean match(String regex, String str)   
  240.     {   
  241.         Pattern pattern = Pattern.compile(regex);   
  242.         Matcher matcher = pattern.matcher(str);   
  243.         return matcher.matches();   
  244.     }   
  245.        
  246.        
  247. //    3. 检查字符串重复出现的词   
  248. //   
  249. //    private void btnWord_Click(object sender, EventArgs e)   
  250. //    {   
  251. //          System.Text.RegularExpressions.MatchCollection matches = System.Text.RegularExpressions.Regex.Matches(label1.Text,    
  252. //   
  253. //            @"\b(?<word>\w+)\s+(\k<word>)\b", System.Text.RegularExpressions.RegexOptions.Compiled |            System.Text.RegularExpressions.RegexOptions.IgnoreCase);   
  254. //           if (matches.Count != 0)   
  255. //           {   
  256. //               foreach (System.Text.RegularExpressions.Match match in matches)   
  257. //               {   
  258. //                   string word = match.Groups["word"].Value;   
  259. //                   MessageBox.Show(word.ToString(),"英文单词");   
  260. //               }   
  261. //           }   
  262. //           else { MessageBox.Show("没有重复的单词"); }   
  263. //   
  264. //   
  265. //       }    
  266. //   
  267. //4. 替换字符串   
  268. //   
  269. //  private void button1_Click(object sender, EventArgs e)   
  270. //  {   
  271. //   
  272. //           string strResult = System.Text.RegularExpressions.Regex.Replace(textBox1.Text, @"[A-Za-z]\*?", textBox2.Text);   
  273. //           MessageBox.Show("替换前字符:" + "\n" + textBox1.Text + "\n" + "替换的字符:" + "\n" + textBox2.Text + "\n" +    
  274. //   
  275. //           "替换后的字符:" + "\n" + strResult,"替换");   
  276. //   
  277. //  }   
  278. //   
  279. //5. 拆分字符串   
  280. //   
  281. // private void button1_Click(object sender, EventArgs e)   
  282. //  {   
  283. //           //实例: 甲025-8343243乙0755-2228382丙029-32983298389289328932893289丁   
  284. //           foreach (string s in System.Text.RegularExpressions.Regex.Split(textBox1.Text,@"\d{3,4}-\d*"))   
  285. //           {   
  286. //               textBox2.Text+=s; //依次输出 "甲乙丙丁"   
  287. //           }   
  288. //   
  289. //   }   
  290.   
  291.   
  292.   
  293.   
分享到:
评论

相关推荐

    Java 常用正则表达式(收集).doc

    本文档整理了常用的Java正则表达式,并对其进行详细解释。 #### 二、正则表达式规则解析 ##### 1. 整数类 - **非负整数**:"^\d+$" - **描述**:匹配任何非负整数,包括零。 - **示例**:0, 1, 2, 3, ... - **正...

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

    Java正则表达式是Java语言中的一种模式匹配技术,用于匹配、查找、替换和判断字符串。它是一种强大的工具,能够帮助开发者快速处理字符串相关的任务。 什么是正则表达式? 正则表达式是一种特殊的字符串,用于描述...

    php的正则表达式完全手册.pdf

    正则表达式在IT行业中扮演着至关重要的角色,尤其在文本处理、数据验证和搜索替换等方面。这份手册由Joy Chao整理,包含从基础到高级的全方位介绍。 1. **引子**: 正则表达式广泛应用于各种操作系统和编程语言中...

    Java一些常用验证整理

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

    正则表达式验证身份证手机号电话号ip数字英文邮箱email整理.pdf

    本文档将详细介绍一个Java类——`RegularValidate`,它包含了用于验证各种格式数据(如身份证号、手机号、IP地址、数字、英文邮箱等)的正则表达式。 #### 二、正则表达式概述 在Java中,`java.util.regex`包提供了...

    java正则表达式大全。。

    根据提供的标题、描述、标签及部分内容,我们可以整理出关于Java正则表达式的多个知识点。以下是对这些内容的详细解析: ### Java正则表达式基础知识 #### 1. 基本概念 - **正则表达式**:一种用于匹配字符串模式...

    《java学习》-java学习笔记.zip

    正则表达式在Java中用于文本匹配和搜索,是处理字符串的强大工具。Java提供了`java.util.regex`包,包含了Pattern和Matcher类来支持正则表达式的编译和匹配操作。理解如何构建和使用正则表达式对于数据验证、文本...

    Java正则表达式的深入浅出详解[整理].pdf

    Java正则表达式是编程语言Java中用于处理文本和模式匹配的重要工具,它遵循特定的规范,使得开发者能够高效地查找、替换或分析字符串。在Java中,正则表达式的功能是在JDK的后续版本中被正式引入的,但在早期版本中...

    正则表达式(风云).rar

    10. **实际应用**:在各种编程语言中,如JavaScript、Python、Java等,正则表达式都有不同的实现方式和特性,理解它们的差异有助于更好地应用正则。 通过"正则表达式.CHM"这个文件,你可以系统学习正则表达式的各种...

    w3school 正则表达式教程 飞龙整理 20141001

    正则表达式不仅在编程语言中广泛使用,如C#、Java、JavaScript、Python和Ruby,还常见于文本编辑器和搜索引擎等应用中。 在正则表达式中,有几个基本的元字符和符号具有特殊意义: 1. `.`:匹配任意单个字符,除了...

    整理出来的正则表达式的资料

    - `Java正则表达式详解.pdf`专注于Java平台下的正则表达式用法。 - `常用正则表达式.doc`和`常用正则表达式.txt`列举了常见的正则表达式模式。 - `精通正则表达式`可能是一本书名,旨在帮助读者全面掌握正则...

    正则表达式资料整理

    不同语言中,正则表达式的实现可能存在差异,例如JavaScript、Python、Java等都有自己的正则引擎和语法特性。 学习正则表达式通常从基础概念开始,逐步掌握元字符、量词、选择符和字符类的用法。然后通过实践来加深...

    javascript正则表达式容易被忽略的小问题整理.docx

    - **正则表达式在不同语言中的差异**:虽然JavaScript、Java和C等语言都有正则表达式,但具体语法和行为可能存在细微差别,需要根据实际环境调整。 5. **实用示例** - **获取URL参数**:可以使用`/(\w+)=([^&]+)/...

    正则表达式例子及笔记

    正则表达式(Regular Expression,简称regex)是用于在文本中匹配特定模式的强大工具,广泛应用于数据验证、搜索和替换等场景。以下是对标题“正则表达式例子及笔记”和描述中的知识点进行的详细解释。 一、正则...

    正则表达式整理

    在各种编程语言中,如JavaScript、Python、Java等,正则表达式都扮演着至关重要的角色。本整理将涵盖正则表达式的基本概念、常用元字符、预定义字符类以及一些高级用法。 1. **基本概念** - **模式匹配**:正则...

    整理很详细的Java正则表达式使用大全

    Java正则表达式是一种功能强大的文本处理工具,能够进行复杂的文本搜索、替换、验证等操作。正则表达式(Regular Expression)简称为regex,它定义了字符串的模式,通过特定的规则来匹配一系列符合特定规则的字符串...

    正则表达式学习资料整理

    在编程语言中,正则表达式常用于数据验证、文本检索和替换等操作。 2. **正则表达式引擎** 正则表达式引擎是实现正则表达式功能的软件组件,它们可能存在不同的实现和兼容性问题。Perl 5类型的引擎是最常见的,但...

    java注解整理

    在企业级项目中,Java注解的运用非常广泛,涵盖了各种场景,例如Spring框架中的依赖注入、AOP切面编程、数据验证、持久层操作等。以下是一些常见的Java注解及其用途: 1. `@Override`:这个注解用于标明一个方法是...

    java私塾学习笔记整理

    ### Java私塾学习笔记整理 #### 第一章:Java入门 **一、Java是什么?** Java是一种广泛使用的高级编程语言,由Sun Microsystems于1995年推出。它旨在为跨平台开发提供一种通用的语言环境,使开发者能够在任何...

Global site tag (gtag.js) - Google Analytics