关于javascript日期正则表达式处理的信息

本篇文章给大家谈谈javascript日期正则表达式处理,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

1、javaScript正则表达式中一个关于日期问题2、如何用javascript中的正则判断日期3、js 日期 时间正则表达式和整数正则表达式4、求一js正则表达式验证YYYY/MM/DD格式日期。5、javascript 正则表达式 出生日期正则表达式限定在规定时间内范围:1900–2009 格式1980-5-12或1988-05-04

javaScript正则表达式中一个关于日期问题

$1表示捕获的”括号内”的组,比如:

/(\d)(\.)(\w)/

(\d)中就是组一的将被捕获的数字,也就是 $1

(\.)则是$2

(\w)则是组三中的数据,也就是:$3, 后面的依次类推, 注意()内如果存在(),则扩号外面的也算捕获组,比如:

/(\.(\d))/

如果想捕获\d中的数字,则应该是$2而不是$1

如果没有括号:/\d{4}-\d{1,2}-\d{1,2}/则没有任何捕获

year = value.replace(reg ,”$1″);//$1代表什么意思?? 是将(\d{4})中捕获的4为数字从value替换为指定的数据,后面的依次类推

在replace 方法中使用 $1 来引用所保存的第一个子匹配。如果有多个子匹配,则可以用 $2, $3 等继续引用。

假定希望将下述的URI 分解为协议 (ftp, http, etc),域名地址以及页面/路径:

下面的正则表达式可以提供这个功能。对 JScript,为:

/(\w+):\/\/([^/:]+)(:\d*)?([^# ]*)/

对 VBScript 为:

“(\w+):\/\/([^/:]+)(:\d*)?([^# ]*)”

第一个附加子表达式是用来捕获该 web 地址的协议部分。该子表达式匹配位于一个冒号和两个正斜杠之前的任何单词。第二个附加子表达式捕获该地址的域名地址。该子表达式匹配不包括 ‘^’、 ‘/’ 或 ‘:’ 字符的任何字符序列。第三个附加子表达式捕获网站端口号码,如果指定了该端口号。该子表达式匹配后跟一个冒号的零或多个数字。最后,第四个附加子表达式捕获由该 web 地址指定的路径以及\或者页面信息。该子表达式匹配一个和多个除’#’ 或空格之外的字符。

将该正则表达式应用于上面所示的 URI 后,子匹配包含下述内容:

RegExp.$1 包含 “http”

RegExp.$2 包含 “msdn.microsoft.com”

RegExp.$3 包含 “:80”

RegExp.$4 包含 “/scripting/default.htm”

希望你们明白

关于javascript日期正则表达式处理的信息

如何用javascript中的正则判断日期

最简单的正则 如 : \d{4}-\d{2}-\d{2} 但是实际情况却不是那么简单,,要考虑,有效性和闰年等问题….. 对于日期的有效范围,不同的应用场景会有所不同。MSDN中定义的DateTime对象的有效范围是:0001-01-01 00:00:00到9999-12-31 23:59:59。 UNIX时间戳的0按照ISO 8601规范为 :1970-01-01T00:00:00Z。 先考虑与年份无关的前三条规则,年份可统一写作 (?!0000)[0-9]{4} 下面仅考虑月和日的正则 1. 包括平年在内的所有年份的月份都包含1-28日 (0[1-9]|1[0-2])-(0[1-9]|1[0-9]|2[0-8]) 2. 包括平年在内的所有年份除2月外都包含29和30日 (0[13-9]|1[0-2])-(29|30) 3. 包括平年在内的所有年份1、3、5、7、8、10、12月都包含31日 (0[13578]|1[02])-31) 合起来就是除闰年的2月29日外的其它所有日期 (?!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])-(29|30)|(0[13578]|1[02])-31) 接下来考虑闰年的实现 1 : 四年一闰 ([0-9]{2}(0[48]|[2468][048]|[13579][26]) 2 : 百年不闰,四百年再闰 (0[48]|[2468][048]|[13579][26])00 3 : 合起来就是所有闰年的2月29日 ([0-9]{2}(0[48]|[2468][048]|[13579][26])|(0[48]|[2468][048]|[13579][26])00)-02-29) 四条规则都已实现,且互相间没有影响,合起来就是所有符合DateTime范围的日期的正则 ^((?!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])-(29|30)|(0[13578]|1[02])-31)|([0-9]{2}(0[48]|[2468][048]|[13579][26])|(0[48]|[2468][048]|[13579][26])00)-02-29)$ 考虑到这个正则表达式仅仅是用作验证,所以捕获组没有意义,只会占用资源,影响匹配效率,所以可以使用非捕获组来进行优化。 ^(?:(?!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])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)$

参考资料:

js 日期 时间正则表达式和整数正则表达式

 var reg1 = /^(([1-9]\d{3})\-(((0[13578]|1[02])\-(0[1-9]|[12]\d|3[01]))|((0[469]|11)\-(0[1-9]|[12]\d|3[0]))|(02\-(0[1-9]|1\d|2[0-8])))|([1-9]\d{3})\/(((0[13578]|1[02])\/(0[1-9]|[12]\d|3[01]))|((0[469]|11)\/(0[1-9]|[12]\d|3[0]))|(02\/(0[1-9]|1\d|2[0-8]))))$/;

 

 var reg2 = /^(0|([1-9]\d*)|)$/;

 

 var reg3 = /^((\d\:\d{2}\s+(am|AM|pm|PM))|)$/;

 

 console.log(reg1.test(‘2014/11/20’));

 console.info(reg1.test(‘2014-11-20’));

 

 console.debug(reg2.test(‘1’));

 reg2.test(”);

 

 reg3.test(‘0:00 am’);

求一js正则表达式验证YYYY/MM/DD格式日期。

代码如下:

/*日期验证dd/mm/yyyy*/

functionisDate(str){

vardate=str;

varresult=date.match(/^([0]?[1-9]|[1|2][0-9]|[3][0|1])[/]([0]?[1-9]|[1][0-2])[/]([0-9]{4}|[0-9]{2})$/);

if(result==null)

returnfalse;

vard=newDate(result[3],result[2]-1,result[1]);

return(d.getFullYear()==result[3](d.getMonth()+1)==result[2]d.getDate()==result[1]);

}

扩展资料

java用正则表达式判断输入的日期格式为yyyy/MM/dd

publicstaticvoidmain(String[]args)throwsParseException{

Stringstr1=”2012-05-15″;

Stringstr2=”2012/05/15″;

if(zzbd(str1)){

System.out.println(“str1havematch!”);

}else{System.out.println(“str1don’tmatch!”);}

if(zzbd(str2)){

System.out.println(“str2havematch!”);

}else{System.out.println(“str2don’tmatch!”);}}

publicstaticbooleanzzbd(Strings)

{

Patternpattern=Pattern.compile(\\d{4}/\\d{2}/\\d{2});

Matchermatcher=pattern.matcher(s);

if(matcher.find())

{

returntrue;

}else{

returnfalse;

}

}

}

javascript 正则表达式 出生日期正则表达式限定在规定时间内范围:1900–2009 格式1980-5-12或1988-05-04

不要用正则做,麻烦,可以用js自己提供的date对象,这样还能兼容一些更广泛的输入,比如两位的年份之类。

var birth=”;//换成你的input的值

var birthDate = new Date(birth);

if (!birthDate.getTime()) console.log(‘错误的日期格式,请按照xxxx格式输入’);  //错误格式

else if (birthDatenew Date(‘1900-01-01’)) console.log(‘不能小于1900年’);  

else  if (birthDate=new Date(‘2010-01-01’)) console.log(‘不能大于2009年’);

你把日志换成你需要的提示操作即可。

javascript日期正则表达式处理的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、javascript日期正则表达式处理的信息别忘了在本站进行查找喔。

本文来自投稿,不代表【】观点,发布者:【

本文地址: ,如若转载,请注明出处!

举报投诉邮箱:253000106@qq.com

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2024年3月28日 21:01:58
下一篇 2024年3月28日 21:11:26

相关推荐

  • 关于avrstudio6c语言的信息

    c语言的程序员们你们公司用的开发工具是什么呢? 学c语言可以用的软件推荐如下:TurboC是由美国Borland公司开发的一套C语言程序开发工具,Borland公司是一家专门从事软件开发、研制的大公司。 Code:Blocks是一个开放源码的全功能的跨平台C/C++集成开发环境。Code:Blocks是开放源码软件。Code:Blocks由纯粹的C++语言开…

    2024年5月23日
    4500
  • java正则表达式详解,java身份证号码的正则表达式

    高级Java开发中什么是正则表达式? 1、java正则表达式是计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串的需要。 2、正则表达式是一种可以用于模式匹配和替换的规范,一个正则表达式就是由普通的字符(例如字符a到z)以及特殊字符(元字符)组成的文字…

    2024年5月23日
    3600
  • 关于java如何查找线程的信息

    kill-3生成的线程堆栈怎么查看 通过给JVM发送一个SIGQUIT信号,您可以得到一个线程堆。 threaddump文件就是文本文件,可以使用任何文本查看工具进行查看; 建议使用比较高效的工具,比如more, less 等。 “Full thread dump”是一个全局唯一的关键字,你可以在中间件和单机版本Java的线程堆栈信息的输出日志中找到它(比如…

    2024年5月23日
    4000
  • 关于javasocketreader的信息

    用JAVA编写一个socket通信程序。 1、java编程对于Socket之间的通信过程如下:服务端往Socket的输出流里面写东西,客户端就可以通过Socket的输入流读取对应的内容。 2、服务端初始化ServerSocket,然后对指定的端口进行绑定,接着对端口及进行监听,通过调用accept方法阻塞。 此时,如果客户端有一个socket连接到服务端,那…

    2024年5月23日
    7900
  • excel日期加年份,excel日期怎么加年数

    在excel中如何将日期加上几年 首先打开一个excel表格,输入一个日期,这里我以今天的日期为例。下面用EDATE函数,这个函数的用法是输入=EDATE后有两个参数,一个是开始日期,一个是月数。因为我们需要在现有的日期上加3年,所以对应的月数是36。 要在Excel中将单元格中的日期加3年,可以使用以下公式:=DATE(YEAR(A1)+3,MONTH(A…

    2024年5月23日
    4100
  • 关于javapitfallspdf的信息

    怎么用java动态生成pdf文档 1、首先,您需要在 Java 程序中添加 Spire.Xls.jar 文件作为依赖项。您可以从这个链接下载 JAR 文件;如果您使用 Maven,则可以通过在 pom.xml 文件中添加以下代码导入 JAR 文件。 2、iText是着名的开放源码的站点sourceforge一个项目,是用于生成PDF文档的一个java类库。通…

    2024年5月23日
    4200
  • excel如何写vba,excel如何写今天日期函数

    Excel怎么设置着写一个刷新的VBA? End Sub 然后保存并重新打开表格,数据每秒自动刷新。如果要不间断一直刷新,把 + TimeValue(00:00:01)去掉,但是会非常卡,无法操作。原创,Excel 2016 亲测可行。 LatestTime 可选 Variant 过程开始运行的最晚时间。 在A1输入\x0d\x0a=NOW()\x0d\x0…

    2024年5月23日
    4000
  • 关于pythonexcel打印设置字体的信息

    如何使用python更改excel表中的字体属性 字体,背景,边框等的颜色都可以通过三种方式设置:索引,aRGB或主题。 索引颜色是旧版实现,颜色本身取决于工作薄或应用程序默认提供的索引。主题颜色可用于互补色,但也取决于工作薄中存在的主题,因此,建议使用RGB颜色。 有着一定的参考价值,有需要的朋友可以参考一下可使用的第三方库python中处理excel表格…

    2024年5月23日
    4600
  • 关于linuxjpeg下载的信息

    请问怎么用grub2直接引导win10,本人Linux新手 第一步,当然是下载linux ubuntu1x的镜像了,这个小伙伴可以百度,去正规的网站现在,这里,我先提供一个站点:mirrors.xmu.edu.cn,厦门大学的信息与网络中心。里面有很多linux版本。有Deepin CenOS ubuntu什么什么的。 第一步:\x0d\x0a当然是下载Ub…

    2024年5月23日
    5200
  • 关于excel2013vc的信息

    如何利用VC++自动生成Excel表格 1、首先,我们需要点击文件菜单栏按钮。然后,我们点击生成EXE按钮。接下来,我们点击保存路径。然后,我们输入我们想要保存的文件名。最后,我们点击确定按钮。然后,我们便可以看到,在桌面生成了Excel表格了。 2、在主对话框中加入一个按钮 ID IDC_EXCELTEST Caption Test Excel 双击该按钮…

    2024年5月23日
    5200

发表回复

登录后才能评论



关注微信