2017-04-05 2 views
0

문자열 "MM/DD/YYYY".replace(/.?YYYY.?/, '');은 Chrome에서 MM/DD을 반환하지만 Safari는 빈 문자열을 반환합니다. 왜 그런가요? 어느 방법이 모든 브라우저에서 동일하게 작동합니까?사파리에서 문자열 바꾸기가 작동하지 않습니다.

+1

그냥 대체 할 때 정규식을 사용하는 이유가 궁금합니다. 왜 그냥 string.replace ('/ YYYY', ''); – hafridi

+0

YYYY는 문자열의 시작 부분에서도 찾을 수 있습니다. 정규 표현식을 사용하면 – prem89

+1

흥미 롭습니다. 후행을 제거하면.? 그것은 괜찮습니다. 라스 란 무엇입니까? 정확히하는거야? 그것을 제거하는 것이 싫어 보인다. – epascarello

답변

-2

이전에 같은 문제가있었습니다. 빈 문자열을 추가 한 다음 작동했습니다. 몇 가지 이유로, 변수가 문자열이라는 것을 인식하도록 Safari에 빈 문자열을 추가해야했습니다.

var date = "mm/dd/yyyyy"+ "", 그런 다음 do - "date".replace (/.? YYYY.? /, '');

+0

nope가 작동하지 않습니다. format = format + ''; format = format.replace (/.? YYYY.? /, ''); – prem89

+0

".?"을 삭제하려고했습니다. replace 메소드에서 yyyy 후에. 사파리와 크롬에서 저를 위해 일하고 있어요. "MM/DD/YYYY"를 사용해보십시오 .replace (/.? YYYY /, ''); –

-2

프로젝트 및 브라우저에서 사용 된 문자 세트를 확인 했습니까?

+0

어떻게 중요합니까? 그것의 중요성에 대한 예를 들어 줄 수 있습니까? – prem89

+0

최근에 UTF-8의 특수 문자와 타사 응용 프로그램의 다른 문자 세트로 인해 문자열 서식 지정과 관련하여 비슷한 문제가 발생했습니다. replace 메소드는 내가 찾고 있던 정확한 문자를 찾지 못했습니다. –

+0

예 : "Space"char 및 "% 20". –

관련 문제