2017-04-05 15 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" + ""、 次に、 "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"。 –

関連する問題