2017-04-05 85 views
0

字符串"MM/DD/YYYY".replace(/.?YYYY.?/, '');在Chrome中返回MM/DD,但Safari返回空字符串。这是为什么?哪种方法在所有浏览器中统一工作?替换字符串在safari中不起作用

+1

只是好奇为什么使用正则表达式试图取代它。我的意思是为什么不只是string.replace('/ YYYY',''); – hafridi

+0

YYYY可能位于字符串的任何地方,甚至从头开始..一个正则表达式, – prem89

+1

有趣。如果你删除尾部。?没事。什么是拉斯维加斯?准确地做?似乎要删除这个。 – epascarello

回答

-2

我以前有同样的问题。我添加了一个空字符串,然后它工作。出于某种原因,我不得不为Safari添加一个空字符串来确认变量是一个字符串。

var date =“mm/dd/yyyyy”+“”, 然后做 - “date”.replace(/。?YYYY.?/,'');

+0

nope does not work .. format = format +''; format = format.replace(/。?YYYY.?/,''); – prem89

+0

我试过删除“。?”在yyyy之后替换方法。它在safari和chrome中为我工作。只是尝试使用“MM/DD/YYYY”.replace(/。?YYYY /,''); –

-2

您是否检查过在您的项目和浏览器中使用的字符集?

+0

这有什么关系?你能否提供一个它如何重要的例子? – prem89

+0

最近,由于UTF-8上的特殊字符和第三方应用中的另一个字符集,我在字符串格式设置上的一个项目上出现了类似的问题。替换方法找不到我正在查找的确切字符。 –

+0

例如:“空间”字符和“%20”。 –