Javascript 使用AngularJs计算不带空格的字符
我需要计算带空格和不带空格的文本的字符数 这是我的尝试,但只计算第一个空格的文本Javascript 使用AngularJs计算不带空格的字符,javascript,angularjs,Javascript,Angularjs,我需要计算带空格和不带空格的文本的字符数 这是我的尝试,但只计算第一个空格的文本 <div style="max-width:80%; margin: 10px auto"> <section class="row" ng-app=""> <div class="col-lg-8"> <div class="panel panel-default"> <div class="panel-head
<div style="max-width:80%; margin: 10px auto">
<section class="row" ng-app="">
<div class="col-lg-8">
<div class="panel panel-default">
<div class="panel-heading">Paste your text for <b>words count</b></div>
<div class="panel-body">
<textarea class="form-control" rows="10" ng-model="wordcounter"></textarea>
</div>
</div>
</div>
<div class="col-lg-4">
<div class="panel panel-default">
<div class="panel-heading">Words and characters</div>
<ul class="list-group">
<li class="list-group-item">Characters (with space)<span class="badge">{{wordcounter.length}}</span></li>
<li class="list-group-item">Characters (no space)<span class="badge">{{wordcounter.replace(" ","").length}}</span></li>
</ul>
</div>
</div>
</section>
粘贴文字以进行字数统计
文字
字符(带空格){{wordcounter.length}
字符(无空格){{wordcounter.replace(“,”).length}
只能替换一个空格
没有正则表达式
问题是,当前只替换一个空格,而不是字符串中的所有空格。解决此问题的一种方法是将字符串按字符串str.split(“”)中的所有空格拆分代码>然后将它们连接在一起。(用join
将单词再次粘在一起,不留空格)
更改没有空格的计数器的绑定,如{{wordcounter.split(“”.join(“”.length}}
<div style="max-width:80%; margin: 10px auto">
<section class="row" ng-app="">
<div class="col-lg-8">
<div class="panel panel-default">
<div class="panel-heading">Paste your text for <b>words count</b></div>
<div class="panel-body">
<textarea class="form-control" rows="10" ng-model="wordcounter"></textarea>
</div>
</div>
</div>
<div class="col-lg-4">
<div class="panel panel-default">
<div class="panel-heading">Words and characters</div>
<ul class="list-group">
<li class="list-group-item">Characters (with space)<span class="badge">{{wordcounter.length}}</span></li>
<li class="list-group-item">Characters (no space)<span class="badge">{{wordcounter.split(" ").join("").length}}</span></li>
</ul>
</div>
</div>
粘贴文字以进行字数统计
文字
字符(带空格){{wordcounter.length}
字符(无空格){{wordcounter.split(“”.join(“”.length}}
您可以使用正则表达式来获取选项卡等
替换(/\s/g,“”)您还可以使用角度自定义过滤器来完成此操作
angular.module(“app”、[“core”]);
角度模块(“核心”,[]);
角度.module(“core”).filter('count',function(){
返回函数(输入,输入空间){
输入=输入| |“”;
return incSpace?input.length:input.replace(/\s/g',).length;
};
});代码>
粘贴文字以进行字数统计
文字
- 字符(带空格){{wordcounter | count:true}
- 字符(无空格){{wordcounter | count:false}
我不明白你的问题:/@DylanMeeus“这是一个示例”:18个字符包括空格“这是一个示例”:14个字符不包括空格,但我的脚本返回17,表示第二个条件是正确的。如果包含空格,则为18个字符。哦,但现在我明白了,“没有空间”是wrong@DylanMeeus确切地说,您需要使用正则表达式替换字符串中的所有空格。尝试下面的代码wordcounter。替换(/\s/g')。length
将为您提供无空格的长度,您可以尝试此处和@Dylan Meeus答案中描述的拆分连接方式