2013-11-23 3 views
1

날짜 문자열이 "11.23.13"이고 모든 점을 "/"로 바꾸고 싶다고 말하면 "11/23/13 ".문자열의 모든 점을 JavaScript의 "/"로 바꾸는 방법

여기 내 코드가 있지만 정규 표현식에 "."이 표시되므로 올바르게 작동하지 않습니다. 새로운 줄 대신 모든 단일 문자를 매치하는 것으로 해석합니다. 그래서 "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> 

누구든지이 문제를 해결할 방법을 알고 계십니까? 감사!

+0

정규식에서 마침표 문자를 이스케이프 처리해야합니다. '새로운 RegExp ("\\.", "g")' –

답변

3

당신은 단지 기간 (당신이 경험 한, 그들은 모든 문자와 일치) 정규식에서 특별한 의미를 가지고있는 기간을 탈출 기억, 글로벌 수정을 사용하는 정규식 모든 기간을 타겟팅 할 수 있습니다 :

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

완벽하게 작동합니다! 감사! – SpartaSixZero

2

할 수있는 빠른 방법은 분할을 사용하여 가입하는 것입니다 정규식하지 않고 다음과 같이 대체합니다, 그래서 다음과 같습니다

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

이 믿거 나 말거나이 빠르게 교체보다하는 데 사용하지만 더 이상하지 않습니다, 어쨌든 정규 표현식을 배우 겠지만 작은 대체물의 경우 이것은 꽤 충분합니다. .

관련 문제