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

时间:2018-09-16 23:07:33

标签: angular filter pipe

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

{{person.name| titlecase}}

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

例如:

“ john doe”将是“ John Doe”。

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

2 个答案:

答案 0 :(得分:0)

您可以创建自己的管道来完成此任务,

使用

  

ng生成管道my-pipe

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

  export class MyPipePipe implements PipeTransform {

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

}

您应该阅读有关创建custom pipes in here

的更多信息

答案 1 :(得分: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]的缩写,即所有字母数字字符。