JavaScriptで改行を削除しようとしています。これはInternet Explorerを除くすべてのブラウザで動作します(ie7、ie8でテスト済み)。私は多くの投稿を読んだが、問題の解決策を見つけることができなかった。Javascriptを使ってIEでlinebreaksを削除するには?
Var someText = "Here’s your text.\n It has line breaks that need to be removed.\rUsing Javascript.\r\n";
someText = someText.replace(/(\r\n|\n|\r)/gm,"");
他に何を試すことができますか? *
EDITED * ****
は、ここでより多くのコードと私の問題をよりよく説明:私が何をしようとしています何
function checkLength(fn) {
var fn = document.getElementById(fn);
var fnb = fn.value;
var fnb = fnb.replace(/(\r\n|\n|\r)/gm,"");
var len = fnb.length;
...
計算でありますテキストエリア内の文字数。私はJavascriptとPHPの両方で計算しなければならなかった。そして改行のために、PHPとJavascriptは決して同じ数にはならなかった。改行を削除するときは、Internet Explorer(Javascriptで計算する)を除いて、すべてが有効です。 fnb.replaceはInternet Explorerの文字数を何も変更しないので、改行が正しく削除されないと確信しています。他のすべてのブラウザでは問題ありませんが、javascriptで改行を取り除いた後にカウンタの違いを見ることができます。つまり、それは事を変えない。私は以下のように、あなたの提案と、行番号を削除する前にchar数を試してみました。後は同じです。
///////// MY ANSWER /////////////////////////////////// //
function checkLength(fn) {
var fn = document.getElementById(fn);
var fnb = fn.value;
var fnb = fnb.replace(/(\r\n|\n|\r)/gm,"");
var len = fnb.length;
...
Tomalakは、私のロジックが改善される可能性が言ったように
- JavaScriptの&プログラミングに新しいもののために申し訳ありません。たぶんTomalakは間違いをしないだろうが、私は誰もがそうしていると確信している。私たちは学ぶために間違いを犯さなければなりません。それが働いている必要があり、それは論理的ではなかった場合でもvar fnb = document.getElementById(fn).value;
:
Internet Explorerが、私はそれを変更しなければならなかった
var fn = document.getElementById(fn);
var fnb = fn.value;
好きではなかったです。それはie以外のすべてのブラウザで動作しました。それはバグです。
これは私が探していた答えでした。
あなたが本当に何が起こっているか教えてくれていないからです)。実際、私の答えで議論している 'Var'の問題以外では、[コードは大丈夫です](http://tom.kera.name/lol.html)ので、すでに持っているものを見ている必要がありますあなたのコードの他の領域で、あなたが間違っていたことを理解してください。 –
これはあなたが尋ねている問題ではありませんが、この正規表現は簡単です: '/ \ r | \ n/gm'。 – jfriend00
@Toamalak:私の投稿を更新しました。プロの人ではないことを申し訳ありません。私はできればいいと思うが、どこかで始めなければならない。 – Mathiew