求一个js正则替换??

asq985 2010-04-20 07:10:52
nowdate=new Date();

var a1="yyyy-MM-dd hh:mm:ss";
var a2="yy-MM-dd";
var a3="MM/dd/yy hh:mm:ss";
var a4="dd/MM/yyyy";
...

日期格式自定义,

请问如果用正则表达式来返回一个符合条件(a1,a2,a3等)的字符串?
...全文
164 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
licip 2010-04-21
  • 打赏
  • 举报
回复
不过,对于日期的范围还是要不能验证的。比如说闰年与平年。30还是31天。
zyzy15 2010-04-21
  • 打赏
  • 举报
回复
这个麻烦点吧……
那要不要控制0<月份<=12,0<日期<=31,小时<24,分和秒<60?
年的头两位数字需不需要验证?
wqkjj 2010-04-21
  • 打赏
  • 举报
回复
\d{2,4}[-\/]\d{2}[-\/]\d{2,4}(\s+\d{2}:\d{2}:\d{2})?
czl21 2010-04-21
  • 打赏
  • 举报
回复
正则表达式替换时,月份转换是个麻烦。

只提供个a1做例子:

var now = new Date();
WScript.Echo(now);

alert(now.toString().replace(/\w+ (\w{3}).*([ \d]{2}) (\d{2}:\d{2}:\d{2}) \w+[+-]\d{4} (\d{4})/, "$4-$1-$2 $3").replace(/Jan/, "01").replace(/Feb/, "02").replace(/Mar/, "03").replace(/Apr/, "04").replace(/May/, "05").replace(/Jun/, "06").replace(/Jul/, "07").replace(/Aug/, "08").replace(/Sep/, "09").replace(/Oct/, "10").replace(/Nov/, "11").replace(/Dec/, "12").replace(/ /, "0").replace(/ /, " "));
mfylee 2010-04-20
  • 打赏
  • 举报
回复
\d{2,4}[-\/]\d{2}[-\/]\d{2}\*?(\d{2}:\d{2}:\d{2})?

87,997

社区成员

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

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