- 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; //依次输出 "甲乙丙丁"
- // }
- //
- // }
- }
- 浏览: 343276 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (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 5851、pom.xml <!-- https:// ... -
2016 年度码云新增热门开源软件排行榜 TOP 50
2017-01-18 08:37 12112016 年度码云新增热门 ... -
将博客搬至CSDN
2016-04-26 11:27 390将博客搬至CSDN -
使用Seamphore限制并发请求量(转)
2016-04-09 14:31 1498一:认识Seamphore Seamphore信号量主要用 ... -
nginx反向代理后取客户ip地址
2016-03-15 19:33 870public class IPUtils { /** ... -
备忘111
2015-08-06 14:56 0产品设置主表 字段 ... -
运用加密技术保护Java源代码
2013-01-14 23:58 415为什么要加密? 对于传统的C或C++之类的语 ... -
利用Instant Client ,不安装oracle客户端使用sqlplus连接远程数据库的步骤
2010-01-20 14:48 4211利用Instant Client ... -
免安装Oracle客户端软件-使用pl/sql配置登陆
2010-01-20 14:46 50031.下载Oracle Client Package ... -
Java ClassLoader机制
2009-12-23 13:28 520当JVM(Java虚拟机)启动时,会形成由三个类加载 ... -
字符串加密解密类
2009-12-23 09:43 998import javax.crypto.*;import ... -
动态代理--(未完)
2009-05-24 18:43 711public interface IUserServ ... -
静态代理
2009-05-24 18:10 500静态代理非常简单,只要满足三个条件 1、一个含有抽 ... -
神奇的TreadLocal
2009-05-24 17:54 906ThreadLocal太神奇了! 先看代码 s ... -
反射-- (未完)
2009-05-24 17:16 682反射: 主要是从类的外部取操作类内部属性或者方 ... -
servlet 路径的问题
2009-05-24 08:59 11261: context Path ... -
java相关规范文档连接地址
2009-05-24 08:43 710http://www.jcp.org/en/jsr/all ... -
jdbc driver 4种类型及常见jdbc连接字符串
2009-05-24 08:30 19531: jdbc driver 4种类型 Type1: ... -
单例4种创建方式
2009-05-24 08:00 7291: 从一个类的内部构造单例基本条件 私有的 ...
相关推荐
java下对正则表达式的练习,正则表达式查找和替换字符串非常灵活,比如:可以查找ip,查找正确的电子邮件地址,查找链接地址等等采用普通的 find 很难描述出来的查找方法。可以按照某种规则去查找,而不是按照确定的...
早期我用c#开发了一个正则表达式工具,而现在这个版本是我用java实现的。 众所周知,java在桌面应用方面一直是短板,c#则有着天然的优势。然作为一个java开发人员,采用java的编程思想来实现此功能还是很有必要的。
正则表达式就是用来描述他称为“正则集的代数”的表达式,因此采用“正则表达式”这个术语。 随后,发现可以将这一工作应用于使用Ken Thompson 的计算搜索算法的一些早期研究,Ken Thompson是Unix 的主要发明人。...
在这篇文章中,我为你介绍了正则表达式的强大功能。只要正确运用,正则表达式能够在...至于最终采用老式的字符串处理方式(使用StringTokenizer,charAt,和substring),还是采用正则表达式,这就有待你自己决定了。
考虑到这个正则表达式仅仅是用作验证,所以捕获组没有意义,只会占用资源,影响匹配效率,所以可以使用非捕获组来进行优化。 ^(?:(?!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/...
最近要在项目中做HTML解析,本想使用NekoHTML来解析,但看了下NekoHTML有点复杂,故采用了一种便捷,笨的方式来完成项目的要求....在解析期间,研究了很多java正则表达式使用方法,颇得一些经验,不敢独享,愿与大家共享.
主要介绍了Java常用正则表达式验证类,结合完整实例形式分析了Java针对邮箱、网址URL、IP地址、电话、身份证等正则验证相关操作技巧,需要的朋友可以参考下
最重要的是——请给我30分钟,如果你没有使用正则表达式的经验,请不要试图在30秒内入门——除非你是超人 :) 别被下面那些复杂的表达式吓倒,只要跟着我一步一步来,你会发现正则表达式其实并没有你想像中的那么困难...
java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包。它包括两个类:Pattern和Matcher. Pattern是一个正则表达式经编译后的表现模式。 在java中,通过适当命名的Pattern类可以容易确定...
里面有很多正则表达式的例子,内容齐全,采用java来编写。
采用JSP+JavaBean+Access开发,直接放到Tomcat下就能运行,不用配置数据源。 含有UBB代码和UBB头像,采用正则表达式制作。 管理登陆加入验证码,数据库管理密码采用MD5加密。
在这篇文章中,我为你介绍了正则表达式的强大功能。只要正确运用,正则表达式...至于最终采用老式的字符串处理方式(使用StringTokenizer,charAt,和substring),还是采用正则表达式,这就有待你自己决定了。
pattern部分为要使用的正则表达式模式文本,是必须的。在第一种方式中,pattern部分以JavaScript字符串的形式存在,需要使用双引号或单引号括起来;在第二种方式中,pattern部分嵌套在两个“/”之间,不能使用引号...
)+[a-zA-Z0-9]+\\.[x|X][m|M][l|L]$26 中文字符的正则表达式:[\u4e00-\u9fa5]27 双字节字符:[^\x00-\xff] (包括汉字在内,可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1))28 空白行的正则表达式...
去除字符串两端空格的处理如果采用传统的方式,就要可能就要采用下面的方式了//清除左边空格function js_ltrim(deststr){if(deststr==null)return “”;var pos=0;var retStr=new String(deststr);if (retStr.lenght...
JS正则表达式对象模式仅有如下三种: g (全文查找出现的所有 pattern) i (忽略大小写) m (多行查找) 即没有单行匹配模式,Singleline(单行模式):更改.的含义,使它与每一个字符匹配(包括换行符\n)。 如...
防止sql注入引起的网络安全的解决措施采用预编译语句集,它内置了处理SQL注入的能力,只要使用它的setString方法传值即可:
操作Ini文件的类 java实现, 采用正则表达式解析, 能操作格式规范的ini文件
操作Ini文件的类 java实现, 采用正则表达式解析, 能操作格式规范的ini文件