我有以下代码来显示带有标题栏管道的文本。
{{person.name| titlecase}}
我想添加一个从字符串中删除特殊字符的过滤器/管道。只留数字和字母。
例如:
“ john doe”将是“ John Doe”。
“ @@ johN doe1 !! $”将是“ John Doe1”。
答案 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]
的缩写,即所有字母数字字符。