2010-12-01 2 views
8

일부 정보를 삽입하는 데 사용하는 입력란이 있습니다. jQuery 또는 JavaScript를 사용하여 매 200 자마다 개행 문자를 삽입하고 싶습니다. 예를 들어jQuery로 200 자마다 개행 문자를 삽입하는 방법

:이 예에서

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 

, 나는 모든 200 자 뒤에 줄 바꿈 chracter을 삽입 할. 어떻게해야합니까?

+0

모든 라인에 접두사 나 접미사와 원하는 경우에 잘

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

작품 왜이 작업을 수행하려고? –

답변

17
, 모든 200 자 후 문자열을 브레이크 줄 바꿈을 추가하고, 나머지 문자열이 과정을 반복

:

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

Thanku sir nice 대답 –

+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

당신은이 작업을 수행 할 수있는 코드의 한 라인이다. 당신은뿐만 아니라

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

아주 좋은 한 - 라이너. 잘 했어. –

+0

'str.replace (/. {200}/g, "$ 0 \ n")'도 마찬가지입니다. – Titus

관련 문제