2015.
02.
21
12:42:00
結論から書けば
でOKです。
改行コード「\r\n」「\n」を全部消してくれます。
そんなに難しいところは無いと思いますが、補足しておきますね。
で、文字列の置換です。
【元の文字列】には正規表現を使うこともできます。
の部分は
と
に分けて考えた方が分かりやすいと思います。
の「?」は「0回か1回ある」の指定です。
「\r」が0回ある(つまり「\r」の無い)「\n」か
「\r」が1回ある「\r\n」が条件に一致します。
これだけだと、改行コードが複数回登場しても最初の1回しか置換してくれません。
最後に「g」を付けて
とすることで、出現する「\n」「\r\n」をすべて置換してくれます。
※改行コードを空文字に置換することで、改行コードの削除になります。
説明としてはそんなところです。
取りあえずサンプルを置いておきますねφ(--)
入力された改行を除去することで、テキストエリアなのに改行できなくしています。
jQueryを使っているのは、私が慣れているからです。
特に深い意味はありません。
大事なのは
の部分です。
ちなみに、改行は除去するか
のようにしてbrタグに置き換えるのが一般的な使い方だと思います。
それ以外で使うことは、そんなに無いんじゃないですかね(--?
ってなところで、JavaScriptで文字列の改行を削除するの、完了\(--)/
変数 = 変数.replace(/\r?\n/g,"");
でOKです。
改行コード「\r\n」「\n」を全部消してくれます。
そんなに難しいところは無いと思いますが、補足しておきますね。
変数.replace(【元の文字列】,【置換後の文字列】)
で、文字列の置換です。
【元の文字列】には正規表現を使うこともできます。
/\r?\n/g
の部分は
/\r?\n/
と
g
に分けて考えた方が分かりやすいと思います。
/\r?\n/
の「?」は「0回か1回ある」の指定です。
「\r」が0回ある(つまり「\r」の無い)「\n」か
「\r」が1回ある「\r\n」が条件に一致します。
これだけだと、改行コードが複数回登場しても最初の1回しか置換してくれません。
最後に「g」を付けて
/\r?\n/g
とすることで、出現する「\n」「\r\n」をすべて置換してくれます。
※改行コードを空文字に置換することで、改行コードの削除になります。
説明としてはそんなところです。
取りあえずサンプルを置いておきますねφ(--)
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<title>JavaScript、改行削除テスト</title>
<script type="text/javascript">
<!--
$(document).ready(function(){
//テキストエリアでキーを押したり離したり変更したりしたとき
$('#input_area').bind('keydown keyup keypress change',function(){
//テキストエリアの内容を取得
var str01 = $(this).val();
//改行を削除
str01 = str01.replace(/\r?\n/g,"");
//改行を削除した内容をテキストエリアに戻す
$(this).val(str01);
});
});
// -->
</script>
</head>
<body>
<textarea id="input_area" col="10" row="3"></textarea>
</body>
</html>
<html lang="ja">
<head>
<meta charset="utf-8">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<title>JavaScript、改行削除テスト</title>
<script type="text/javascript">
<!--
$(document).ready(function(){
//テキストエリアでキーを押したり離したり変更したりしたとき
$('#input_area').bind('keydown keyup keypress change',function(){
//テキストエリアの内容を取得
var str01 = $(this).val();
//改行を削除
str01 = str01.replace(/\r?\n/g,"");
//改行を削除した内容をテキストエリアに戻す
$(this).val(str01);
});
});
// -->
</script>
</head>
<body>
<textarea id="input_area" col="10" row="3"></textarea>
</body>
</html>
入力された改行を除去することで、テキストエリアなのに改行できなくしています。
jQueryを使っているのは、私が慣れているからです。
特に深い意味はありません。
大事なのは
//改行を削除
str01 = str01.replace(/\r?\n/g,"");
str01 = str01.replace(/\r?\n/g,"");
の部分です。
ちなみに、改行は除去するか
変数 = 変数.replace(/\r?\n/g,"<br>");
のようにしてbrタグに置き換えるのが一般的な使い方だと思います。
それ以外で使うことは、そんなに無いんじゃないですかね(--?
ってなところで、JavaScriptで文字列の改行を削除するの、完了\(--)/
category:● JavaScript thema:パソコンな日々 - genre:コンピュータ Posted by ササキマコト