`
sunbin
  • 浏览: 343276 次
  • 性别: 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下对正则表达式的练习,正则表达式查找和替换字符串非常灵活,比如:可以查找ip,查找正确的电子邮件地址,查找链接地址等等采用普通的 find 很难描述出来的查找方法。可以按照某种规则去查找,而不是按照确定的...

    正则表达式工具(java版)

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

    Java正则表达式入门介绍

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

    java正则表达式.doc

    在这篇文章中,我为你介绍了正则表达式的强大功能。只要正确运用,正则表达式能够在...至于最终采用老式的字符串处理方式(使用StringTokenizer,charAt,和substring),还是采用正则表达式,这就有待你自己决定了。

    C# 最全的日期正则表达式,没有之一

    考虑到这个正则表达式仅仅是用作验证,所以捕获组没有意义,只会占用资源,影响匹配效率,所以可以使用非捕获组来进行优化。 ^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2...

    正则表达式

    JavaScript采用的是Perl语言正则表达式语法的一个相当完整的子集. 正则表达式的模式规范是由一系列字符构成的.大多数字符(包括所有字母数字字符)描述的都是按照字面意思进行匹配的字符.这样说来,正则表达式/java/...

    Java中使用正则表达式

    最近要在项目中做HTML解析,本想使用NekoHTML来解析,但看了下NekoHTML有点复杂,故采用了一种便捷,笨的方式来完成项目的要求....在解析期间,研究了很多java正则表达式使用方法,颇得一些经验,不敢独享,愿与大家共享.

    Java常用正则表达式验证类完整实例【邮箱、URL、IP、电话、身份证等】

    主要介绍了Java常用正则表达式验证类,结合完整实例形式分析了Java针对邮箱、网址URL、IP地址、电话、身份证等正则验证相关操作技巧,需要的朋友可以参考下

    正则表达式30分钟入门教程

    最重要的是——请给我30分钟,如果你没有使用正则表达式的经验,请不要试图在30秒内入门——除非你是超人 :) 别被下面那些复杂的表达式吓倒,只要跟着我一步一步来,你会发现正则表达式其实并没有你想像中的那么困难...

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

    java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包。它包括两个类:Pattern和Matcher. Pattern是一个正则表达式经编译后的表现模式。 在java中,通过适当命名的Pattern类可以容易确定...

    正则表达式入门经典

    里面有很多正则表达式的例子,内容齐全,采用java来编写。

    jspbook.rar_java md5_java 管理_jsp tomcat_md5_正则表达式

    采用JSP+JavaBean+Access开发,直接放到Tomcat下就能运行,不用配置数据源。 含有UBB代码和UBB头像,采用正则表达式制作。 管理登陆加入验证码,数据库管理密码采用MD5加密。

    java正则式学习

    在这篇文章中,我为你介绍了正则表达式的强大功能。只要正确运用,正则表达式...至于最终采用老式的字符串处理方式(使用StringTokenizer,charAt,和substring),还是采用正则表达式,这就有待你自己决定了。

    javascript RegExp对象(正则表达式)

    pattern部分为要使用的正则表达式模式文本,是必须的。在第一种方式中,pattern部分以JavaScript字符串的形式存在,需要使用双引号或单引号括起来;在第二种方式中,pattern部分嵌套在两个“/”之间,不能使用引号...

    正则表达式教程

    )+[a-zA-Z0-9]+\\.[x|X][m|M][l|L]$26 中文字符的正则表达式:[\u4e00-\u9fa5]27 双字节字符:[^\x00-\xff] (包括汉字在内,可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1))28 空白行的正则表达式...

    正则表达式在javascript中的几个实例

    去除字符串两端空格的处理如果采用传统的方式,就要可能就要采用下面的方式了//清除左边空格function js_ltrim(deststr){if(deststr==null)return “”;var pos=0;var retStr=new String(deststr);if (retStr.lenght...

    JS中正则表达式只有3种匹配模式(没有单行模式)详解

    JS正则表达式对象模式仅有如下三种:  g (全文查找出现的所有 pattern) i (忽略大小写) m (多行查找) 即没有单行匹配模式,Singleline(单行模式):更改.的含义,使它与每一个字符匹配(包括换行符\n)。 如...

    防止sql注入解决方案

    防止sql注入引起的网络安全的解决措施采用预编译语句集,它内置了处理SQL注入的能力,只要使用它的setString方法传值即可:

    操作ini文件的类 java实现

    操作Ini文件的类 java实现, 采用正则表达式解析, 能操作格式规范的ini文件

    操作Ini文件的类 java实现

    操作Ini文件的类 java实现, 采用正则表达式解析, 能操作格式规范的ini文件

Global site tag (gtag.js) - Google Analytics