2013-11-27 89 views
2

我正在制作一个虚拟书写器,并且在计算段落节点内的textnode中的字母时遇到了问题。在文本节点中计数字母

代码如下所示:http://jsfiddle.net/Rfq68/ 我的问题是在countLetters()函数,我想是这样的:

var temp = ntext.match(new RegExp(search.toString().replace(/(?=[.\\+*?[^\]$(){}\|])/g, "\\"), "g")); 
count = temp; 

但它并没有在所有的工作,我现在需要你的帮助!

谢谢!

+0

怎么样'ntext.length' –

+0

我只想如何'ntext.replace字母,无空格,逗号,连字符等 –

+1

(/ [^ A-ZA -Z]/g,'').length' –

回答

3

首先,您尝试在节点上使用.match()方法;只有字符串具有该方法。其次,我要做的是从节点获取文本数据,替换所有非字母字符,然后用所有字符串上可用的.length属性对它们进行计数。

function countLetters() { 
    return ntext.data.replace(/[^a-zA-Z]/g, '').length; 
} 

Fixed Fiddle

+0

可以使用'/ [^ a-z]/gi'吗? – Pavlo

+0

是的。我只是发现前者更加明确,但两者都是一样的。 –