正则表达式实现JavaScript日期格式化的想法。

今天和网友聊起在javascript里面实现DateFormat 的话题。

把想法发布一下,当是笔记。

格式化:
  1、先用正则把日期表达式分段:
    var tokens = "yyyy-MM-dd(没有时间)".match(/y+|M+|d+|m+|[^yMdm]+/g)
    //结果数组为:yyyy,-,MM,-,dd,(没有时间)
  2、将其中的yyyy MM dd 替换成相映的处理对象

  3、格式化时,先复制数组,依次遍历,如果元素是处理对象,那么元素值替换成处理结果。

  4、将新数组join。即为需要结果。

  5、parse时。先复制数组,若元素为字符串,精确匹配。若未处理对象,读取需要的值,匹配失败,则终止操作,返回结果。





yyyy MM dd 的处理对象可以根据首字母确定,长度可以作为处理函数的参数,这样,减少对象数目。维护起来方便一点。

想法而已,实际实现时可能还有很多现在无法意料的事情:)

你可能感兴趣的:(JavaScript,正则表达式,ext,prototype)