你好
我正在尝试构建一个jQuery字计数器,但几乎每个人都不能使用像æ, ø, å, ö
这样的特殊字符....但这些字符在我的国家 LETTERS 不特殊字符。
这是我尝试的第一个计数器:http://www.electrictoolbox.com/jquery-count-words-textarea-input/
它运作正常,但它没有与上面的字母一起使用。
所以我试图建立一个自我:
我必须构建它,所以它也计算特殊字符,否则它将无法工作。 Microsoft Word的文字计数器也这样做,所以它不会打扰我。
但现在还有其他一些问题:
1:如果我输入了一些文字,请按Enter键,然后输入更多文字,就不算数了。
2:如果我点击空格键然后按回车键,则表示有一个单词。
这非常烦人!
我还尝试将split(" ")
替换为match(/\s+/gi)
,但这并不能解决问题。
有人可以帮帮我吗? 我是以错误的方式做这一切的?
答案 0 :(得分:4)
答案 1 :(得分:3)
如果你在计算之前用空格替换所有的回报,你应该没事。
text.replace(/[\n\r]/g, ' ') // Replaces all returns in text with a space
答案 2 :(得分:1)
我已经编辑了你的jsfiddle,没有你的问题。
我添加了trim以删除行尾的空行和空格。我使用正则表达式删除多行的空格。
var matches = $(field).val().trim().split(/\s/gm);
答案 3 :(得分:1)
只需更改您的代码:
var matches = $(field).val().split(/[ \n\r]/);
<强> JSFIDDLE DEMO 强>
您的代码出现问题:
它计算了所有被空格分隔的角色。
但新线是不同的角色,也算得上。