2010-12-01 7 views
8

いくつかの情報を挿入するために使用するテキストボックスがあります。 jQueryまたはJavaScriptを使用して200文字ごとに改行文字を挿入したい。例えばjQueryを使用して200文字ごとに改行文字を挿入する方法

:この例では

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 

、私はすべての200個の文字の後に改行chracterを挿入したいです。これどうやってするの?

+0

をしたい場合は、これを実行しようとしているのはなぜ? –

答えて

17
は、すべての200個の文字の後に文字列をブレーク改行を追加し、残りの文字列で、このプロセスを繰り返し

function addNewlines(str) { 
    var result = ''; 
    while (str.length > 0) { 
    result += str.substring(0, 200) + '\n'; 
    str = str.substring(200); 
    } 
    return result; 
} 
+0

ありがとうございましたnice answer –

+1

新しい行を開始するときに、より多くのオプションとハイフンを使用することで、改善することができます。私の[比較](http://jsfiddle.net/tLp7P/)の改善を参照してください –

1

ユーザーがそのテキストを入力している場合は、次の操作を行うことができます:

  1. するのKeyDownイベントを実装し、200カウントに達するたび...改行文字を挿入し、それを再度追加します。

  2. データベースから取得する場合は、値を設定する直前にその文字列を読み込んで、改行文字を手動で挿入してください。

2

この機能を試してみると、それは単なるジャバスクリプトです。それは、文字列と後に改行する文字数を取ります。

function addBreaks(s,c) { 
    var l = s.length; 
    var i = 0; 
    while (l > c) { 
     l = l-c; 
     i=i+c; 
     s = s.substring(0,c)+"\n"+s.substring(c); 
    } 
    return s; 
} 
var a=' aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'; 

addBreaks(a,200); 
1
$("#text").keyup(function()//Detect keypress in the textarea 
    { 
     var text_area_box =$(this).val();//Get the values in the textarea 
     var max_numb_of_words = 200;//Set the Maximum Number of chars 
     var main = text_area_box.length*100;//Multiply the lenght on words x 100 

     var value= (main/max_numb_of_words);//Divide it by the Max numb of words previously declared 

     if(text_area_box.length >= max_numb_of_words) { 
      //add break 
     } 
     return false; 
     }); 
14

あなたがこれを行うことができ、コードは1行だけです。

var newStr = str.replace(/(.{200})/g, "$1\n") 

うまく動作しますが、接頭辞や接尾すべてのライン上にも

var newStr = str.replace(/(.{200})/g, "prefix- $1 -postfix\n") 
+4

非常に良い1つのライナー。よくやった。 –

+0

'str.replace(/。{200}/g、" $ 0 \ n ")'は同じです。 – Titus

関連する問題