- 浏览: 13700 次
- 性别:
- 来自: 北京
-
最新评论
- 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; //依次输出 "甲乙丙丁"
- // }
- //
- // }
- }
相关推荐
本文档整理了常用的Java正则表达式,并对其进行详细解释。 #### 二、正则表达式规则解析 ##### 1. 整数类 - **非负整数**:"^\d+$" - **描述**:匹配任何非负整数,包括零。 - **示例**:0, 1, 2, 3, ... - **正...
Java正则表达式是Java语言中的一种模式匹配技术,用于匹配、查找、替换和判断字符串。它是一种强大的工具,能够帮助开发者快速处理字符串相关的任务。 什么是正则表达式? 正则表达式是一种特殊的字符串,用于描述...
正则表达式在IT行业中扮演着至关重要的角色,尤其在文本处理、数据验证和搜索替换等方面。这份手册由Joy Chao整理,包含从基础到高级的全方位介绍。 1. **引子**: 正则表达式广泛应用于各种操作系统和编程语言中...
这里的【标题】"Java一些常用验证整理"和【描述】"Java一些常用验证整理,附有有关代码"指的是收集并整理了一些常见的Java验证方法。这些方法主要用于检查用户输入、数据交换等场景中的字符串格式,以确保其合法性。...
本文档将详细介绍一个Java类——`RegularValidate`,它包含了用于验证各种格式数据(如身份证号、手机号、IP地址、数字、英文邮箱等)的正则表达式。 #### 二、正则表达式概述 在Java中,`java.util.regex`包提供了...
根据提供的标题、描述、标签及部分内容,我们可以整理出关于Java正则表达式的多个知识点。以下是对这些内容的详细解析: ### Java正则表达式基础知识 #### 1. 基本概念 - **正则表达式**:一种用于匹配字符串模式...
正则表达式在Java中用于文本匹配和搜索,是处理字符串的强大工具。Java提供了`java.util.regex`包,包含了Pattern和Matcher类来支持正则表达式的编译和匹配操作。理解如何构建和使用正则表达式对于数据验证、文本...
Java正则表达式是编程语言Java中用于处理文本和模式匹配的重要工具,它遵循特定的规范,使得开发者能够高效地查找、替换或分析字符串。在Java中,正则表达式的功能是在JDK的后续版本中被正式引入的,但在早期版本中...
10. **实际应用**:在各种编程语言中,如JavaScript、Python、Java等,正则表达式都有不同的实现方式和特性,理解它们的差异有助于更好地应用正则。 通过"正则表达式.CHM"这个文件,你可以系统学习正则表达式的各种...
正则表达式不仅在编程语言中广泛使用,如C#、Java、JavaScript、Python和Ruby,还常见于文本编辑器和搜索引擎等应用中。 在正则表达式中,有几个基本的元字符和符号具有特殊意义: 1. `.`:匹配任意单个字符,除了...
- `Java正则表达式详解.pdf`专注于Java平台下的正则表达式用法。 - `常用正则表达式.doc`和`常用正则表达式.txt`列举了常见的正则表达式模式。 - `精通正则表达式`可能是一本书名,旨在帮助读者全面掌握正则...
不同语言中,正则表达式的实现可能存在差异,例如JavaScript、Python、Java等都有自己的正则引擎和语法特性。 学习正则表达式通常从基础概念开始,逐步掌握元字符、量词、选择符和字符类的用法。然后通过实践来加深...
- **正则表达式在不同语言中的差异**:虽然JavaScript、Java和C等语言都有正则表达式,但具体语法和行为可能存在细微差别,需要根据实际环境调整。 5. **实用示例** - **获取URL参数**:可以使用`/(\w+)=([^&]+)/...
正则表达式(Regular Expression,简称regex)是用于在文本中匹配特定模式的强大工具,广泛应用于数据验证、搜索和替换等场景。以下是对标题“正则表达式例子及笔记”和描述中的知识点进行的详细解释。 一、正则...
在各种编程语言中,如JavaScript、Python、Java等,正则表达式都扮演着至关重要的角色。本整理将涵盖正则表达式的基本概念、常用元字符、预定义字符类以及一些高级用法。 1. **基本概念** - **模式匹配**:正则...
Java正则表达式是一种功能强大的文本处理工具,能够进行复杂的文本搜索、替换、验证等操作。正则表达式(Regular Expression)简称为regex,它定义了字符串的模式,通过特定的规则来匹配一系列符合特定规则的字符串...
在编程语言中,正则表达式常用于数据验证、文本检索和替换等操作。 2. **正则表达式引擎** 正则表达式引擎是实现正则表达式功能的软件组件,它们可能存在不同的实现和兼容性问题。Perl 5类型的引擎是最常见的,但...
在企业级项目中,Java注解的运用非常广泛,涵盖了各种场景,例如Spring框架中的依赖注入、AOP切面编程、数据验证、持久层操作等。以下是一些常见的Java注解及其用途: 1. `@Override`:这个注解用于标明一个方法是...
### Java私塾学习笔记整理 #### 第一章:Java入门 **一、Java是什么?** Java是一种广泛使用的高级编程语言,由Sun Microsystems于1995年推出。它旨在为跨平台开发提供一种通用的语言环境,使开发者能够在任何...