js 日期字符串截取分割成单个具体的日期(2009-12-30 13:28:29)

   [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

  下面是用数组+正则替换实现的代码

  

   [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

  "hand hand hand"想变换为"hand.gif hand.gif hand.gif"

  开始用

  str=str.replace("hand","hand.gif");

  输出:hand.gif hand hand

  只替换了一次。。。:(

  想到用正则,因为replace本来就可以用正则替换。

  引用

  返回根据正则表达式进行文字替换后的字符串的复制。

  stringObj.replace(rgExp, replaceText)

  于是写

  str = str.replace(/hand/,"hand.gif")

  无效。。。

  全部替换要加g,

  str = str.replace(/hand/g,"hand.gif")

  还是不行:(

  参考了JavaScript的replace方法与正则表达式结合应用讲解这篇文章后,终于明白,原来要用()括起来,才会替换()里的东东。正确的写法如下:

  str = "hand hand hand";

  str=str.replace(/(hand)/g,"hand.gif");

  document.write(str);

  正确输出:hand.gif hand.gif hand.gif。

  JS的正则另一种写法是使用RegExp:

  如str=str.replace(/(hand)/g,"hand.gif");

  等同于:

  reg = new RegExp("(hand)","g");

  str = str.replace(reg,'hand.gif');

  reg需要动态生成时更适合使用这种方式。

  扩展一下:

  str = "hand'( hand'( hand'(";

  str=str.replace(/(hand\'\()/g,"hand.gif");

  document.write(str);

  str = 'hand\'( hand\'( hand\'(';

  str=str.replace(/(hand\'\()/g,"hand.gif");

  document.write(str);