Angular 6 - 显示字符串作为标题并删除特殊字符

问题描述 投票:0回答:2

我有以下代码来显示带有标题管道的文本。

{{person.name| titlecase}}

我想添加一个过滤器/管道,从字符串中删除特殊字符。只留下数字和字母。

例如:

“john doe”将是“John Doe”。

“@@ johN doe1 !! $”将是“John Doe1”。

angular filter pipe
2个回答
0
投票

这是一个定制AlphaNumPipe

@Pipe({
  name: 'alphaNum'
})
export class AlphaNumPipe implements PipeTransform {

  transform(value: string): string {
    return value.replace(/[\W_]/g, '');
  }

}

注意\W_是对\w正则表达式的否定,它是[A-Za-z0-9]的简写,即所有字母数字字符。


0
投票

你可以创建自己的管道来做到这一点,

通过使用

生产管道

并使用简单的正则表达式替换

  export class MyPipePipe implements PipeTransform {

  transform(value: any, args?: any): any {
    return  value.replace(/[^a-zA-Z0-9 ]/g, "");
  }

}

你应该阅读更多关于创建custom pipes in here的信息

© www.soinside.com 2019 - 2024. All rights reserved.