Angular 6 - отображать строку как заглавную и удалять специальные символы - PullRequest
0 голосов
/ 17 сентября 2018

У меня есть следующий код для отображения текста с заглавной буквы.

{{person.name| titlecase}}

Я хотел бы добавить фильтр / трубу, которая удаляет специальные символы из строки. Оставайтесь только с цифрами и буквами.

Например:

"Джон Доу" будет "Джон Доу". ​​

"@@ johN doe1 !! $" будет "John Doe1".

Ответы [ 2 ]

0 голосов
/ 17 сентября 2018

Вот один из вариантов 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 голосов
/ 17 сентября 2018

Вы можете создать свой собственный канал, который будет делать это,

, используя

ng генерировать трубу my-pipe

и использовать простойregex replace

  export class MyPipePipe implements PipeTransform {

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

}

Вы должны прочитать больше о создании пользовательских каналов здесь

...