求2个对输入进行控制的正则表达式

henhuaqi 2003-10-17 10:21:41
1。输入的日期格式为2003-10-19而且不能超过系统时间。
2。判断一个文本框的输入只能是大于0的正整数,而且不能为空。
...全文
37 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
softrookie 2003-10-17
  • 打赏
  • 举报
回复
日起再来一个更准确一点的
/\d{4}-(0\d|1[0-2])-([0-2]\d|3[0-1])/
softrookie 2003-10-17
  • 打赏
  • 举报
回复
1. /\d{4}-[0-1]\d-[0-3]\d/
正则表达式只是做格式限定、字符匹配,无法判断系统时间
2. /\d*[1-9]/
longshenwang 2003-10-17
  • 打赏
  • 举报
回复
判断时间的js如下
<!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="">
</HEAD>

<BODY>
<script>
function checkDate(){ //时间判断
var emailPattern = /^[0-9]{4}\-[0-1]?[0-9]?\-[0-3]?[0-9]?$/;
if (emailPattern.test(document.all.nc.value)==false)
alert("非法的时间!")
else
alert("正确的时间!")
}
checkDate()
</script>

</BODY>
</HTML>


判断文本框如下
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
</HEAD>

<BODY>
<script>
function test(){
var n=0;
if(f.a.value.length==0){
alert("请输入内容!");
}else{
for(i=0;i<f.a.value.length;i++){
alert(f.a.value.charAt(i));
if(f.a.value.charAt(i)<0||f.a.value.charAt(i)>9){
alert("必须输入数字");
return false;
}else{
if(f.a.value.charAt(i)>0){n=1;}
}
}
if(n==0){
alert("输入的数字不能为0!");
}
}
}
</script>
<form name="f">
<INPUT TYPE="text" NAME="a" >
<input type=button name="b" value="校验" onclick="test();">
</form>
</BODY>
</HTML>

lindentree 2003-10-17
  • 打赏
  • 举报
回复
判断日期的函数如下:
function IsDate(str)
{
var re=/^(\d{4})-(\d{1,2})-(\d{1,2})$/
if(!re.test(str))
{alert('日期输入不对,格式如:2003-05-03');}
else {
var r=str.match(re)
var d=new Date(r[1],r[2]-1,r[3])
d.getFullYear()==r[1]&&d.getMonth()==r[2]-1&&d.getMonth()==r[3]
var today = new Date();
today.getYear();
today.getMonth();
today.getDate();
if (d>today)
{
alert('日期大于系统日期!')
}
}
}
henhuaqi 2003-10-17
  • 打赏
  • 举报
回复
可以不用正则表达式,用longshenwang(独眼龙)的方法,使用函数,将文本框输入的日期与系统时间进行比较,检查是否小于等于系统日期,如果小于等于则正确,否则错误。
本书中文版为《精通正则表达式(第3版), 本书关注的是一种强大的工具——“正则表达式”。它将教会读者如何使用正则表达式解决各种问题,以及如何充分使用支持正则表达式的工具和语言。许多关于正则表达式的文档都没有介绍这种工具的能力,而本书的目的正是让读者“精通”正则表达式。   许多种工具都支持正则表达式(文本编辑器、文字处理软件、系统工具、数据库引擎,等等),不过,要想充分挖掘正则表达式的能力,还是应当将它作为编程语言的一部分。例如Java、JScript、Visual Basic、VBScript、JavaScript、ECMAScript、C、C++、C#、elisp、Perl、Python、Tcl、Ruby、PHP、sed和awk。事实上,在一些用上述语言编写的程序中,正则表达式扮演了极其重要的角色。   正则表达式能够得到众多语言和工具的支持是有原因的:它们极其有用。从较低的层面上来说,正则表达式描述的是一串文本(a chunk of text)的特征。读者可以用它来验证用户输入的数据,或者也可以用它来检索大量的文本。从较高的层面上来说,正则表达式容许用户掌控他们自己的数据——控制这些数据,让它们为自己服务。掌握正则表达式,就是掌握自己的数据。 本书的第1 版写于1996年,以满足当时存在的需。那时还没有关于正则表达式的详尽文档,所以它的大部分能力还没有被发掘出来。正则表达式文档倒是存在,但它们都立足于“低层次视角”。我认为,那种情况就好像是教一些人英文字母,然后就指望他们会说话。   第2 版与第1 版间隔了五年半的时间,这期间,互联网迅速流行起来,正则表达式的形式也有了极大的扩张,这或许并不是巧合。几乎所有工具软件和程序语言支持的正则表达式也变得更加强大和易于使用。Perl、Python、Tcl、Java和Visual Basic都提供了新的正则支持。新出现的支持内建正则表达式的语言,例如PHP、Ruby、C#,也已经发展壮大,流行开来。在这段时间里,本书的核心——如何真正理解正则表达式,以及如何使用正则表达式——仍然保持着它的重要性和参考价值。   不过,第1版已经逐渐脱离了时代,必须加以修订,才能适应新的语言和特性,也才能对应正则表达式在互联网世界中越来越重要的地位。第2 版出版于2002年,这一年的里程碑是java.util.regex、Microsoft .NET Framework和Perl 5.8的诞生。第2 版全面覆盖了这些内容。关于第2 版,我唯一的遗憾就是,它没有提及PHP。自第2 版诞生以来的4 年里,PHP的重要性一直在增加,所以,弥补这一缺憾是非常迫切的。   第3 版在前面的章节中增加了PHP的相关内容,并专门为理解和应用PHP的正则表达式增加了一章全新的内容。另外,该版对Java的章节也进行了修订,做了可观的扩充,反映了Java1.5和Java1.6的新特性。   

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧