6

文字列の長さを計算するためにJavaScriptとPHPを使用しています。ChromeまたはFirefoxとInternetExplorerからのテキストエリア文字列の長さを計算する場合を除いて、すべて問題ありません。新しいテキストエリアの行/改行は、InternetExplorerとPHPでは2文字として計算されます。ただし、ChromeとFirefoxはテキストエリアの行/改行を1文字と同じように計算します(PHPとInternet Explorerは2文字と計算します)。これが私の問題です。誰もがそれを解決する方法を知っていますか?

したがって、IEのテキスト領域のJavaScript文字数= PHPで計算された文字列の長さ///また、Chrome/Firefoxのテキスト領域のJavaScript文字数はPHPで計算された文字列の長さと等しくありません。

使用したコード:

Javascript  :  document.getElementById("text").value.length

PHP  :  mb_strlen($_POST['text'], 'UTF-8')

これに関する他の投稿があります。主に次の投稿です。Javascriptの文字列の長さはPHPのmb_strlenとは異なります。しかし、私の質問に対する答えはそこになく、他の投稿では見つかりませんでした。

あなたの助けと提案をありがとう。

4

1 に答える 1

10

FirefoxとChrome\nは改行にのみ使用しますが、IE(オペラも)は使用します\r\n

一意の結果を得るに は、文字列の長さを数える前に、\r\nのすべての出現箇所を置き換えます\n

于 2011-10-04T01:17:53.967 に答える