2014-02-27 4 views
0

저는 프로그래밍 경험이없는 JS에서 매우 새롭습니다. 그리고 나는 텍스트 상자에 단어를 집계하는 스크립트를 만드는 데 어려움을 겪고 있습니다. 나는 다음과 같은 코드가 난 아무것도 채울 수 없습니다JS와의 단어 수 문제

<span id="wordsCounted"></span> 

내가 왕으로 나는 어떤 방향 I :

var myTextareaElement = document.getElementById("myWordsToCount"); 
    myTextareaElement.onkeyup = function(){ 
     var wordsCounted = myTextareaElement.value; 
     var i = 0; 
     var str = wordsCounted; 
     var words = str.split(''); 
     for (var i = words.length; i++) {if (words[i].length > 0; i++) { words[i] }; 
} 

그리고 내 HTML에서 스팬 이드

, 나는 다음과 같은 넣어 엉망이 될거야. 나는 JS 피들에서 그것을 시도하고 그것을 채울 수 없습니다.

+0

모든 문자를 분주하게하는 str.split ("") 대신 공백 문자를 사용하십시오. str.split (""); –

+0

str.split ('')에 공백이없는 것처럼 보입니다. str.split ('')을 시도하십시오. – Snowburnt

+0

단어 수를 계산 하시겠습니까? 얼마나 많은 단어가 남아 있는지 표시 하시겠습니까? –

답변

0

시도해보십시오. 원하는대로 할 수 있습니다. for 루프를 수행하는 대신 몇 단어가 있는지 계산하고 배열의 길이를 표시하면됩니다. "My name is XXX".split(/\s+/)["My", "name", "is", "XXX"]를 표시합니다 :

var myTextareaElement = document.getElementById("myWordsToCount"); 
    myTextareaElement.onkeyup = function(){ 
     var wordsCounted = myTextareaElement.value; 
     var i = 0; 
     var str = wordsCounted; 
     var words = str.split(''); 
     if (words.length > 0){ 
      document.getElementById('wordsCounted').innerHTML = words.length; 
     } 
} 
3

분할 방법은 당신이 어떤 공백 문자를 나타 내기 위해 공간 ""또는 정규식을 사용할 수있는 적합한 문자를 필요로한다. 단어 수만 원할 경우 "My name is XXX".split(/\s+/).length을 입력하면 4가 반환됩니다.