JavaScript-搜索格式化的数字
在我的AngularJs应用程序中,我使用带有指令的数字过滤器显示逗号格式的数字,以突出显示结果中搜索的字符串 代码:JavaScript-搜索格式化的数字,javascript,angularjs,Javascript,Angularjs,在我的AngularJs应用程序中,我使用带有指令的数字过滤器显示逗号格式的数字,以突出显示结果中搜索的字符串 代码: if(phrase)text=text.replace(新的RegExp(“(“+phrase+”),“gi”),“$1”); 当用户键入123时,我需要显示1,23,456。遇到逗号时会出错 是否有任何regexp来实现这一点?或者任何内在的角度的方式。。? 以下是我将突出显示过滤器更改为此(为短语中的每个字符添加“,?”): angular.module('AngApp'
if(phrase)text=text.replace(新的RegExp(“(“+phrase+”),“gi”),“$1”);
当用户键入123时,我需要显示1,23,456。遇到逗号时会出错
是否有任何regexp来实现这一点?或者任何内在的角度的方式。。?
以下是我将突出显示过滤器更改为此(为
短语中的每个字符添加“,?”):
angular.module('AngApp'))
.filter('highlight',函数($sce){
返回函数(文本、短语){
if(typeof(text)!=“string”)text=text.toString();
如果(短语){
var regexp='';
对于(var i=0;i
更新了我需要显示123456个
。为什么?这是错误的。应该是123456。我看不出你的枪有什么问题。我键入13144,它会正确地过滤到13144。@dustmouse-过滤器工作正常。。我需要突出显示搜索的字符串…@ManoDestra-原始字符串应该保持原样。。啊,明白你的意思了。这实际上不是一个数字。是文本。使用基于文本的示例比使用数字示例更好,因为这不是有效的数字格式。@PremshankarTiwari没问题,如果有帮助,请也向上投票:)。
if (phrase) text = text.replace(new RegExp('('+phrase+')', 'gi'), '<span class="highlighted">$1</span>');
angular.module('AngApp')
.filter('highlight', function($sce) {
return function(text, phrase) {
if(typeof(text) != 'string') text = text.toString();
if (phrase) {
var regexp = '';
for(var i = 0; i < phrase.length; i++) {
regexp += phrase[i] + ',?';
}
text = text.replace(new RegExp('('+regexp+')', 'gi'),
'<span class="highlighted">$1</span>')
}
return $sce.trustAsHtml(text)
}
});