2012-12-23 2 views
5

저는 문자와 단어를 제한하는 플러그인을 발견했지만 모두 jQuery를 사용하여 문자 및 문자 수를 추가하려고했습니다.jQuery를 사용한 단어 및 문자 수

사용자가 문자 나 단어를 추가 할 때마다 카운터가 업데이트되도록 실시간으로 업데이트하고 싶습니다.

단어 및 문자를 확인하는 간단한 방법이 있습니까?

+0

문자 수를 확인하려면 .length를 사용하십시오. 당신이 verrryyyyyyyyyyyyyoooooooooooooooooooooooooooongwooooooooooooooord를 만들 수 있기 때문에 단어 카운트는 보통 에세이 같은 것이 아니라면 대개 중요하지 않습니다. – nhahtdh

+1

$ ("textarea"). html(). split ("") .length –

+4

나는 무례하게 들리는 것을 싫어하지만 "goquled"[jquery count words] (https://www.google.co.uk/#hl= jquery + count + words & oq = jquery + count + words & gs_l = hp.3..0l4.973.5328.0.5436.18.8.0.9.9.0.200.715.7j0j1.8.0.les % 3B. 0.0 ... 1c.1.L1JWGBTTwDs & pbx = 1 & bav = on.2 또는 .r_gc.r_pw.r_cp.r_qf. & bvm = bv.1355534169, d.d2k & fp = f42fee5d8e10998d & bpcl = 40096503 & biw = 1235 & bih = 683) "[첫 번째 결과 정확히 당신이 찾고있는 것입니다] (http://stackoverflow.com/questions/7422192/jquery-count-words-in-real-time). 그리고 길이는 단지 길이뿐입니다. 그래서 당신은 정말로 전혀 열심히 검색하지 않았습니다. –

답변

45

function wordCount(val){ 
 
    var wom = val.match(/\S+/g); 
 
    return { 
 
     charactersNoSpaces : val.replace(/\s+/g, '').length, 
 
     characters   : val.length, 
 
     words    : wom ? wom.length : 0, 
 
     lines    : val.split(/\r*\n/).length 
 
    }; 
 
} 
 

 

 
var textarea = document.getElementById("text"); 
 
var result = document.getElementById("result"); 
 

 
textarea.addEventListener("input", function(){ 
 
    var v = wordCount(this.value); 
 
    result.innerHTML = (
 
     "<br>Characters (no spaces): "+ v.charactersNoSpaces + 
 
     "<br>Characters (and spaces): "+ v.characters + 
 
     "<br>Words: "+ v.words + 
 
     "<br>Lines: "+ v.lines 
 
); 
 
}, false);
<textarea id="text"></textarea> 
 
<div id="result"></div>

jsFiddle demo

+0

실시간으로 업데이트 할 수있는 방법이 있습니까? – user1919937

+0

확실히 내 대답은 데모를 추가 –

+0

그것은 작동합니다! 고맙습니다! 또한, 구문 오류가 있어도 [추가] (http://jsfiddle.net/deepumohanp/jZeKu/)하려고했는데, 어떻게 할 것인지 알고 있습니까? – user1919937

-1

W/O jQuery를 : jQuery로

this.innerHTML gives you the textarea content. 
this.innerHTML.length gives you the number of characters. 

:

$(this).html() 

난 당신이 간단한 단어 계산 알고리즘을 가지고 올 수 확신합니다.

+0

Textarea의 HTML 콘텐츠가 가치가 없습니다. –

+0

옙, fixed, tnx – TheZuck

+0

테스트 해 보았습니다. 둘 다 가능합니다 .val(), .html() .... –

6
char_count = $("#myTextArea").val().length; 
word_count = $("#myTextArea").val().split(" ").length; 
+1

아주 드문 방법이지만 후행 공백이나 연속 된 여러 공백 문자는 고려하지 않습니다. 수동 공백은 새 단어로 간주되지 않습니다. –

-1
jQuery(document).ready(function(){ 
    var count = jQuery("#textboxid").text().length; 
}); 
+0

단어와 문자를 제한하고 싶지 않습니다. 단지 숫자를 넣으려고합니다. – user1919937

+0

길이가 속성이며 문자열 길이가 없습니다. –

0
var txt = $('.content')[0].text() 
    , charCount = txt.length 
    , wordCount = txt.replace(/[^\w ]/g, "").split(/\s+/).length 
    ; 
$('#somwhereInYourDocument').text("The text had " + charCount + " characters and " + wordCount +" words"); 

Read more