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

java采用正则表达式

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

相关推荐

    详解Java判断是否是整数,小数或实数的正则表达式

    因此,采用正则表达式是更为合适的选择。 ### 小结 在Java中使用正则表达式进行数值判断是高效且实用的方法。通过正则表达式,我们可以精确地定义并匹配字符串的格式,从而有效地完成输入验证。该方法适用于各种...

    强大的JAVA正则表达式处理包jakarta-oro

    1. **高效性能**:Jakarta ORO采用了优化的算法和数据结构,对于大型文本和复杂的正则表达式模式匹配,它的性能通常优于Java内置的正则表达式实现。 2. **预编译模式**:与Java内置的正则表达式不同,ORO支持预编译...

    Java正则表达式的总结和一些小例子

    Java 正则表达式的总结和一些小例子 Java 正则表达式是 Java 编程语言中一个非常重要的组件,它可以用于文本显示、数据表示、查找键和许多其他目的。从 Java 1.4 开始,Java 核心 API 就引入了 java.util.regex ...

    正则表达式的妙用

    在实现这个功能时,你可能使用了编程语言如Python、JavaScript或者Java,这些语言都内置了对正则表达式的支持。例如,Python中的`re`模块提供了编译、匹配和搜索等函数,通过这些函数,你可以构建并执行正则表达式,...

    基于正则表达式的文本抽取软件

    【基于正则表达式的文本抽取软件】是一款由个人开发者用Java编程语言编写的软件,主要功能是利用正则表达式的强大匹配能力,帮助语言工作者、外语教师和学生进行文本的高效处理和信息提取。在现代信息化社会,面对...

    java正则表达式实例讲解.doc

    默认情况下,正则表达式采用贪婪匹配,即尽可能多地匹配字符。若要在量词后加上`?`,则变为非贪婪匹配,匹配尽可能少的字符。 例如,对于字符串`"cccccTest"`,正则表达式`/c{3,4}/`在默认贪婪模式下会匹配4个`c`,...

    正则表达式系统教程.CHM

    - **匹配算法**:不同的正则表达式引擎可能采用不同的匹配策略,如DFA(确定有限状态自动机)和NFA(非确定有限状态自动机)。 6. **在编程语言中的应用** - **Python的re模块**:提供了正则表达式的全面支持,...

    [JAVA源码]捣鼓生成浮点数的最小最大值的正则表达式---by_langx

    在Java编程中,正则表达式(Regular Expression)是一种强大的文本处理工具,它能用于匹配、查找、替换等操作。本话题聚焦于如何利用Java来生成一个正则表达式,这个表达式能够验证一个字符串是否代表了在特定范围内...

    java-正则表达式

    java下对正则表达式的练习,正则表达式查找和替换字符串非常灵活,比如:可以查找ip,查找正确的电子邮件地址,查找链接地址等等采用普通的 find 很难描述出来的查找方法。可以按照某种规则去查找,而不是按照确定的...

    正则表达式工具(java版)

    早期我用c#开发了一个正则表达式工具,而现在这个版本是我用java实现的。 众所周知,java在桌面应用方面一直是短板,c#则有着天然的优势。然作为一个java开发人员,采用java的编程思想来实现此功能还是很有必要的。

    Java正则表达式入门介绍

    正则表达式就是用来描述他称为“正则集的代数”的表达式,因此采用“正则表达式”这个术语。 随后,发现可以将这一工作应用于使用Ken Thompson 的计算搜索算法的一些早期研究,Ken Thompson是Unix 的主要发明人。...

    正则表达式提取网页编码

    在给定的代码片段中,使用了Java的`Pattern`和`Matcher`类来执行正则表达式的匹配操作: ```java String content = "&lt;html xmlns=\"http://www.w3.org/1999/xhtml\"&gt;\n" + "&lt;head&gt;\n" + ";charset=utf-8\"/&gt;\n" +...

    java正则表达式----pdf文档 简明扼要

    ### Java正则表达式的应用与理解 #### 一、引言 正则表达式作为一种强大的字符串处理工具,自诞生以来就在计算机科学领域扮演着至关重要的角色。最初由数学家Stephen Kleene提出,正则表达式逐渐发展成为一种普遍...

    正则表达式项目源码文件reg_demo.zip

    这个文件可能包含了多个用不同编程语言实现的正则表达式示例,例如Python、Java、JavaScript或者C++,具体取决于项目所采用的技术栈。 正则表达式的基本结构由元字符和量词组成,它们共同定义了字符串的模式。元...

    正则表达式及NFA-DFA-MFA

    在编程实践中,正则表达式通常被编译成DFA或者等价的NFA来进行匹配操作,例如Perl、Python和Java等语言都提供了正则表达式的支持。 在学习正则表达式及NFA-DFA-MFA时,你需要掌握以下几个关键点: 1. 正则表达式的...

    常用各类验证 正则表达式

    ### 常用各类验证正则表达式 在软件开发过程中,经常需要用到各种验证规则来确保用户输入的数据格式正确无误。这些验证规则通常通过正则表达式来实现。下面将详细介绍几种常用的验证正则表达式及其应用场景。 ####...

    Java正则表达式匹配电话格式

    代码中的正则表达式采用了分组和或运算符(|),确保能够匹配任何一个满足条件的电话号码号段。并且电话号码的末尾还可能是以-号连接的短号码。 对于固定电话号码的匹配,正则表达式考虑了两种常见格式:一种是直接...

Global site tag (gtag.js) - Google Analytics