2011-09-08 13 views
7

ランダムな文字列がある場合は、サーバーから取得:ランダムな文字列の文字数を数えるには?

var str='I am a student in XXX university, I am interested...' 

strにスペースを持つ単語の乱数を含めることができます。それは文字列の内容は予測不可能です。文字列内の文字の数をカウントする方法を

JavaScriptで

、(単語間のスペースはカウントから排他です)。たとえば、 "私は車を持っている"と9文字を数えます。

var str='I am a student in XXX university, I am interested...'; 

alert(str.replace(/[^A-Z]/gi, "").length); 

あなたは文字として数字をカウントしたい場合は、[^A-Z]文字クラスに0-9を追加することができます:あなたが唯一の最初replace()を使用して他の文字を取り除く、アルファ文字をしたいと仮定すると、

答えて

15

。あなたが唯一のホワイトスペースを削除したい場合は、我々は、すべてのスペースを分割/\s/g

+0

何の数を与えるのだろうか? – Mellon

+0

@Mellon:空白を含めたいが他の句読点を除外したい場合は、文字クラスを '[^ A-Z]'に変更してください。 –

7

に正規表現を変更して再度配列に参加:

var str='I am a student in XXX university, I am interested...' 

str = str.split(" ").join(""); 

alert(str.length); 

http://jsfiddle.net/AwVBJ/

+1

'、'文字はあまりにも大きすぎますか? :P – Andrew

+1

@Andrew:公平であるために、OPはスペースだけを明示的に述べました。しかし、おそらく、彼は他のジャンクを数えたくないかもしれません。 –

2

をさらに別の方法:

var str = "I have a car"; 
while (str.indexOf(' ') > 0) { 
    str = str.replace(' ' , ''); 
    } 
var strLength = str.length;  
6

正規表現\w - 任意の英数字またはに一致する一致の数を指定できます任意の英字用

例:

var numChars = "I have a car".match(/[a-zA-Z]/g).length; 
// numChars = 9 

ライブ例:http://jsfiddle.net/GBvCp/

+0

'\ w'も' _'にマッチすることに注意してください。これは望ましくないかもしれません。 –

0

はスペースの数をカウントし(例えば、 http://p2p.wrox.com/javascript-how/70527-count-occurrence-character-string.html)、それを長さから引きます。

 

    var testString = ' my test string has a number of spaces '; 
    alert('Number of spaces:' + (testString .replace(/[^ ]/g, '').length)); 
    alert('Number of characters:' + (testString.length)); 
    alert('Number of characters excluding spaces:' + 
     (testString.length - (testString  .replace(/[^ ]/g, '').length))); 

注:末尾のスペースとスペースは正しく数えられます。

2
var temp = str; 

temp= temp.replace(/[^a-zA-Z]+/g,""); 

temp.length U私は考慮にスペースを利用したいと思います場合について文字

関連する問題