正则表达式格式化日期
2014-04-17 21:42
141 查看
通常,从服务器(如C#代码)得到的一个日期对象的格式可能为 :
在展显给用户时,可能只需要显示日期部分,如:
不少资料介绍JavaScript的日期格式化,会直接把日期字符串转换成JavaScript的日期对象,如:
经测试,同样的字符串,在公司的电脑上转换时提示Invalid Date,在家里的电脑上又成功。是不是因为跟电脑系统环境有关?有待考究。
通常,日期的格式不外乎就那几种,何尝不用正则表达式?想到就动手,日期匹配的正则表达式如下(支持中文):
如果输入前面的日期格式,得到的效果如下,也许有人会奇怪,为什么把日期分组那么多个呢?后面有用到的:)
最后附上完整的代码:
调用:
注:getDateStr 暂不支持直接传一个javascript Date对象参数,不过要扩充也容易,在转换前做一下value的类型判断然后调用Date里面javascript自身的方法就行了。这里就不多说了。
2014-04-04T13:04:46.187
在展显给用户时,可能只需要显示日期部分,如:
2014年4月4日
不少资料介绍JavaScript的日期格式化,会直接把日期字符串转换成JavaScript的日期对象,如:
new Date("2014-04-04T13:04:46.187") //有可能提示Invalid Date new Date("2014年04月04日") //有可能提示Invalid Date
经测试,同样的字符串,在公司的电脑上转换时提示Invalid Date,在家里的电脑上又成功。是不是因为跟电脑系统环境有关?有待考究。
通常,日期的格式不外乎就那几种,何尝不用正则表达式?想到就动手,日期匹配的正则表达式如下(支持中文):
/^([0-9]{4})[-/\.年]([0-1]?[0-9]{1})[-/\.月]([0-3]?[0-9]{1})[日]?.?([0-2]?[0-9](:[0-6][0-9]){2})?/
如果输入前面的日期格式,得到的效果如下,也许有人会奇怪,为什么把日期分组那么多个呢?后面有用到的:)
最后附上完整的代码:
function getDateStr(value, formatStr) { formatStr = formatStr|| “yyyy-MM-dd”; //默认格式 var dateReg = /^([0-9]{4})[-/\.年]([0-1]?[0-9]{1})[-/\.月]([0-3]?[0-9]{1})[日]?.?([0-2]?[0-9](:[0-6][0-9]){2})?/; var arr = dateReg.exec(value); if (arr && arr[0]) { if (formatStr) { var subReg = /y+(.)M+(.)d+(.)?/i; var subArr = subReg.exec(formatStr); if (subArr) { var resStr = arr[1] + subArr[1]; resStr += arr[2] + subArr[2]; resStr += arr[3] + (subArr[3] || ""); return resStr; } } return arr[0]; } return ""; }
调用:
var a1= getDateStr("2014-4-17 21:36:01","yyyy年MM月dd日") //2014年4月17日 var a2= getDateStr("2014-4-17T21:36:01")//默认格式 2014-4-17
注:getDateStr 暂不支持直接传一个javascript Date对象参数,不过要扩充也容易,在转换前做一下value的类型判断然后调用Date里面javascript自身的方法就行了。这里就不多说了。
相关文章推荐
- JavaScript日期格式化与正则表达式RegExp.$的用法
- JavaScript日期格式化与正则表达式RegExp.$的用法
- 正则表达式格式化日期
- JavaScript正则表达式实现日期格式化
- JavaScript日期格式化与正则表达式RegExp.$的用法
- 正则表达式_Java_SE_C++_简单题_判断输入的日期是否是正确的
- 【学习笔记——Linux】Linux正则表达式和文件格式化处理
- 判断日期是否合法的正则表达式
- 一个验证日期格式的超强正则表达式
- 身份证的正则表达式可以验证日期
- 正则表达式 - java验证IP地址 - java验证日期时间,解决润月 - java验证邮箱格式
- 利用日期正则表达式之识别合法日期
- Linux 学习笔记 -- 第三部分 学习 shell 与 shell script -- 第12章 正则表达式与文件格式化处理
- 验证日期的正则表达式比较全面地验证
- 关于日期正则表达式的思路详解
- 日期时间判断正则表达式
- 日期验证的正则表达式,兼容性很强
- 常用正则表达式及JS中验证文本框中文、数字、字母、日期
- 用正则表达式检验是否输入日期时间是有效&&&&&& execCommand指令集
- yyyy-MM-dd日期正则表达式