2017-10-28 20 views
0

這是工作的代碼檢查字數,但我需要用字母來算:如何計算JavaScript中的字母?

$(document).ready(function() { 
    $("#word_count").on('keyup', function() { 
     var words = this.value.match(/\S+/g).length; 

      $('#display_count').text(words); 
      $('#word_left').text(10-words); 


if(words > 10) { 
     $('input[type="submit"]').attr('disabled' , true); 
      var trimmed = $(this).val().split(/\s+/, 10).join(" "); 
      $(this).val(trimmed + " "); 
    }else{ 
     $('input[type="submit"]').attr('disabled' , false); 
    } 

    }); 
}); 
+1

這似乎是一個JavaScript的問題。你也用php標記過它。 – MikeyBunny

+8

你嘗試過'this.value.length'嗎?或'this.value.replace(//g,「」)。length' – NewToJS

+0

選中此項:[JSFiddle](http://jsfiddle.net/abhiklpm/67XDq/15/) – user3287355

回答

0

你要求這個計算由信。 使用.length計數字母在一個變量中。

$(document).ready(function() { 
 
    $("#word_count").on('keyup', function(e) { 
 
     var words = this.value.length;//I changed this 
 
     //var words = this.value.match(/\S+/g).length; 
 
      $('#display_count').text(words); 
 
      $('#word_left').text(10-words); 
 

 

 
if(words > 10) { 
 
     $('input[type="submit"]').attr('disabled' , true); 
 
      var trimmed = $(this).val().split(" ").join(""); 
 
      $(this).val(trimmed); 
 
    }else{ 
 
     $('input[type="submit"]').attr('disabled' , false); 
 
    } 
 

 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<form> 
 
    <input type="text" id="word_count"><br/> 
 
    <input type="submit"> 
 
</form> 
 

 
<p id="dispay_count"></p> 
 

 
<p id="word_left"></p>

+1

也許在此處添加一些解釋 – Akintunde007

0

你可以將字符串轉換爲一個數組,過濾所有的空間了。

var text = 'Hello world! And all the people'; 
 
var length = text.split('').filter(c => c != ' ').length; 
 
console.log(length);

或者你可以用一個空字符串替換所有的空格,然後計算字符串長度:

var text = 'Hello world! And all the people'; 
 
var length = text.replace(/\s/g, '').length 
 
console.log(length);

+0

Wouldn' t替換空格'.replace(//g,「」)''而不是分割字符串'.split()'來過濾''.filter()' – NewToJS

+0

是的,有多條路徑可以實現這個。但我想知道什麼會更高性能 – lumio

0

使用正則表達式省略非然後在加入它們之後計算長度。

let str = 'how to count letters in javascript.' 
 
let letterCount = str.split(/\W/).join('').length 
 

 
console.log(letterCount)

0

//using javascript 
 
var a = document.getElementById("inp"); 
 
a.addEventListener("keyup",function(){ 
 
document.getElementById("count").innerHTML = "Count :" + " "+ a.value.length; 
 
})
<input type="text" id="inp"> 
 
<br> 
 
<span id="count">Count :</span>

2

一個解決這個問題的辦法:

let str = 'how to count letters in javascript.' 
let letterCount = x.replace(/\s+/g, '').length; 

console.log(letterCount)