ホームページ  >  記事  >  ウェブフロントエンド  >  Safari の「無効な日付」問題: 日付解析の不一致に対処する方法

Safari の「無効な日付」問題: 日付解析の不一致に対処する方法

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-21 17:37:02876ブラウズ

Safari's

Safari での無効な日付の問題:

Web 開発では、日付の処理が異なるブラウザ間で問題を引き起こすことがあります。以下の例に示すように、特定の入力形式を使用して新しい Date オブジェクトを作成すると、ブラウザ固有の解析の問題が発生します。

alert(new Date('2010-11-29'));

Chrome や Firefox などのブラウザはこの形式を問題なく処理しますが、Safari ではエラーが発生します。 「無効な日付です。」この不一致の理由は、Safari が入力文字列を解釈する方法にあります。

この問題を解決するには、正規表現を使用して文字列を Safari が認識できる形式に変換します。簡単なワンライナーの解決策は次のとおりです。

console.log (new Date('2011-04-12'.replace(/-/g, "/")));

このコードでは、正規表現 /-/g によってすべてのハイフン文字 (-) がスラッシュ (/) に置き換えられ、結果として Safari の文字列に準拠した文字列が生成されます。予想される日付形式。この置換により、Safari は日付を正常に解析し、有効な結果を表示できるようになります。

以上がSafari の「無効な日付」問題: 日付解析の不一致に対処する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。