如何用JavaScript中的“/”替换字符串中的每个点

时间:2013-11-23 21:16:44

标签: javascript regex

假设我有一个“11.23.13”形式的日期字符串,我想用“/”替换每个点,所以它看起来像“11/23/13”。

这是我的代码,但它无法正常工作,因为正则表达式会看到“。”并解释为匹配每个字符而不是新行。所以不是“11/23/13”,而是“////////”。

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>RegExMatchDot</title>
    <script type="text/javascript">
        var myDate = "11.23.13";
        var myDateWithNewSeparator = myDate.replace(new RegExp(".", "g"), "/");
        console.log("my date with new date separator is: ", myDateWithNewSeparator);
    </script>
</head>
<body>

</body>
</html>

任何人都知道解决这个问题的方法吗?谢谢!

2 个答案:

答案 0 :(得分:3)

您可以使用使用全局修饰符的正则表达式来定位所有句点,只需记住在句点中具有特殊含义的句点(正如您所经历的那样,它们匹配任何字符):

var myDate = "11.23.13";
var myDateWithNewSeparator = myDate.replace(/\./g, '/');

答案 1 :(得分:2)

在没有正则表达式的情况下快速替换这样的方法是使用split和join,所以它将是:

myDate.split('.').join('/');

信不信由你过去比替换要快,但现在不再了,无论如何我会学习正则表达式,但是对于微小的替换,这已经足够了。