Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript-搜索格式化的数字_Javascript_Angularjs - Fatal编程技术网

JavaScript-搜索格式化的数字

JavaScript-搜索格式化的数字,javascript,angularjs,Javascript,Angularjs,在我的AngularJs应用程序中,我使用带有指令的数字过滤器显示逗号格式的数字,以突出显示结果中搜索的字符串 代码: if(phrase)text=text.replace(新的RegExp(“(“+phrase+”),“gi”),“$1”); 当用户键入123时,我需要显示1,23,456。遇到逗号时会出错 是否有任何regexp来实现这一点?或者任何内在的角度的方式。。? 以下是我将突出显示过滤器更改为此(为短语中的每个字符添加“,?”): angular.module('AngApp'

在我的AngularJs应用程序中,我使用带有指令的数字过滤器显示逗号格式的数字,以突出显示结果中搜索的字符串

代码:

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)
  }
});