- javascript的正则表达式和java是一样的,如以下为验证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,})$/; - alert(reg.test(t.value));
}
</script>
</HEAD> - <BODY>
- <form>
<input type="text" id="txt" />
<input type="button" value="检查" onclick="checkthis();" />
</form> - </BODY>
</HTML> - 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; //依次输出 "甲乙丙丁"
- // }
- //
- // }
- }
- 浏览: 353072 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (271)
- java基础备忘 (19)
- ANT (4)
- jsp (13)
- linux (9)
- javascript (4)
- oracle (5)
- dotnet (0)
- mysql (4)
- 测试 (4)
- web服务器 (8)
- jdbc (1)
- struts (16)
- spring (11)
- 其他java相关插件 (6)
- 工作相关 (17)
- jbpm (9)
- ibatis (8)
- 设计模式 (1)
- xml (2)
- ejb (1)
- log4j (3)
- java文档操作 (9)
- flex (1)
- jquery (1)
- ext (0)
- java报表 (0)
- android (1)
- 正则表达式 (1)
- bi (2)
- 工具 (5)
- hibernate (12)
- cognos (3)
- activiti (0)
- 项目管理-设计 (0)
- 文档 (0)
- dwz (8)
- pojo (1)
- 资产管理系统 (1)
- FlowER (0)
- highcharts (0)
- webservce (1)
- dubbo (4)
- eureke (0)
- docker (21)
- springcloud (1)
- https://spring.io/guides/gs/routing-and-filtering/ (1)
- jenv (1)
- springBoot (19)
- MongoDB (2)
- redis (0)
- maven (4)
- nosql (0)
- mq (1)
- jeesite (3)
- hadoop (12)
- 日志工具 (3)
- 机器学习算法 (8)
- exsi (1)
最新评论
-
sunbin:
不好意思,这个用于个人记录。http://sunbin.ite ...
Spring boot+Spring Security 4配置整合实例 -
v韧竹v:
大神,你这个有demo源码吗?我安装您这边操作的,好像有问题, ...
Spring boot+Spring Security 4配置整合实例 -
sunbin:
西蜀石兰 写道关键的是controller建立了一个中转吧,这 ...
Spring Boot 添加JSP支持【转】 -
czwanglei:
这篇文章写的真不错。。
Spring Boot 添加JSP支持【转】 -
西蜀石兰:
关键的是controller建立了一个中转吧,这样所有的jsp ...
Spring Boot 添加JSP支持【转】
发表评论
-
微信支付接口
2019-09-17 09:26 6931、pom.xml <!-- https:// ... -
2016 年度码云新增热门开源软件排行榜 TOP 50
2017-01-18 08:37 13082016 年度码云新增热门 ... -
将博客搬至CSDN
2016-04-26 11:27 422将博客搬至CSDN -
使用Seamphore限制并发请求量(转)
2016-04-09 14:31 1527一:认识Seamphore Seamphore信号量主要用 ... -
nginx反向代理后取客户ip地址
2016-03-15 19:33 909public class IPUtils { /** ... -
备忘111
2015-08-06 14:56 0产品设置主表 字段 ... -
运用加密技术保护Java源代码
2013-01-14 23:58 448为什么要加密? 对于传统的C或C++之类的语 ... -
利用Instant Client ,不安装oracle客户端使用sqlplus连接远程数据库的步骤
2010-01-20 14:48 4265利用Instant Client ... -
免安装Oracle客户端软件-使用pl/sql配置登陆
2010-01-20 14:46 50441.下载Oracle Client Package ... -
Java ClassLoader机制
2009-12-23 13:28 540当JVM(Java虚拟机)启动时,会形成由三个类加载 ... -
字符串加密解密类
2009-12-23 09:43 1027import javax.crypto.*;import ... -
动态代理--(未完)
2009-05-24 18:43 737public interface IUserServ ... -
静态代理
2009-05-24 18:10 524静态代理非常简单,只要满足三个条件 1、一个含有抽 ... -
神奇的TreadLocal
2009-05-24 17:54 925ThreadLocal太神奇了! 先看代码 s ... -
反射-- (未完)
2009-05-24 17:16 715反射: 主要是从类的外部取操作类内部属性或者方 ... -
servlet 路径的问题
2009-05-24 08:59 11611: context Path ... -
java相关规范文档连接地址
2009-05-24 08:43 737http://www.jcp.org/en/jsr/all ... -
jdbc driver 4种类型及常见jdbc连接字符串
2009-05-24 08:30 19801: jdbc driver 4种类型 Type1: ... -
单例4种创建方式
2009-05-24 08:00 7551: 从一个类的内部构造单例基本条件 私有的 ...
相关推荐
因此,采用正则表达式是更为合适的选择。 ### 小结 在Java中使用正则表达式进行数值判断是高效且实用的方法。通过正则表达式,我们可以精确地定义并匹配字符串的格式,从而有效地完成输入验证。该方法适用于各种...
1. **高效性能**:Jakarta ORO采用了优化的算法和数据结构,对于大型文本和复杂的正则表达式模式匹配,它的性能通常优于Java内置的正则表达式实现。 2. **预编译模式**:与Java内置的正则表达式不同,ORO支持预编译...
Java 正则表达式的总结和一些小例子 Java 正则表达式是 Java 编程语言中一个非常重要的组件,它可以用于文本显示、数据表示、查找键和许多其他目的。从 Java 1.4 开始,Java 核心 API 就引入了 java.util.regex ...
在实现这个功能时,你可能使用了编程语言如Python、JavaScript或者Java,这些语言都内置了对正则表达式的支持。例如,Python中的`re`模块提供了编译、匹配和搜索等函数,通过这些函数,你可以构建并执行正则表达式,...
【基于正则表达式的文本抽取软件】是一款由个人开发者用Java编程语言编写的软件,主要功能是利用正则表达式的强大匹配能力,帮助语言工作者、外语教师和学生进行文本的高效处理和信息提取。在现代信息化社会,面对...
- **匹配算法**:不同的正则表达式引擎可能采用不同的匹配策略,如DFA(确定有限状态自动机)和NFA(非确定有限状态自动机)。 6. **在编程语言中的应用** - **Python的re模块**:提供了正则表达式的全面支持,...
在Java编程中,正则表达式(Regular Expression)是一种强大的文本处理工具,它能用于匹配、查找、替换等操作。本话题聚焦于如何利用Java来生成一个正则表达式,这个表达式能够验证一个字符串是否代表了在特定范围内...
java下对正则表达式的练习,正则表达式查找和替换字符串非常灵活,比如:可以查找ip,查找正确的电子邮件地址,查找链接地址等等采用普通的 find 很难描述出来的查找方法。可以按照某种规则去查找,而不是按照确定的...
早期我用c#开发了一个正则表达式工具,而现在这个版本是我用java实现的。 众所周知,java在桌面应用方面一直是短板,c#则有着天然的优势。然作为一个java开发人员,采用java的编程思想来实现此功能还是很有必要的。
正则表达式就是用来描述他称为“正则集的代数”的表达式,因此采用“正则表达式”这个术语。 随后,发现可以将这一工作应用于使用Ken Thompson 的计算搜索算法的一些早期研究,Ken Thompson是Unix 的主要发明人。...
在给定的代码片段中,使用了Java的`Pattern`和`Matcher`类来执行正则表达式的匹配操作: ```java String content = "<html xmlns=\"http://www.w3.org/1999/xhtml\">\n" + "<head>\n" + ";charset=utf-8\"/>\n" +...
### Java正则表达式的应用与理解 #### 一、引言 正则表达式作为一种强大的字符串处理工具,自诞生以来就在计算机科学领域扮演着至关重要的角色。最初由数学家Stephen Kleene提出,正则表达式逐渐发展成为一种普遍...
这个文件可能包含了多个用不同编程语言实现的正则表达式示例,例如Python、Java、JavaScript或者C++,具体取决于项目所采用的技术栈。 正则表达式的基本结构由元字符和量词组成,它们共同定义了字符串的模式。元...
在编程实践中,正则表达式通常被编译成DFA或者等价的NFA来进行匹配操作,例如Perl、Python和Java等语言都提供了正则表达式的支持。 在学习正则表达式及NFA-DFA-MFA时,你需要掌握以下几个关键点: 1. 正则表达式的...
### 常用各类验证正则表达式 在软件开发过程中,经常需要用到各种验证规则来确保用户输入的数据格式正确无误。这些验证规则通常通过正则表达式来实现。下面将详细介绍几种常用的验证正则表达式及其应用场景。 ####...
代码中的正则表达式采用了分组和或运算符(|),确保能够匹配任何一个满足条件的电话号码号段。并且电话号码的末尾还可能是以-号连接的短号码。 对于固定电话号码的匹配,正则表达式考虑了两种常见格式:一种是直接...