как дать подтверждение для «_» или «.» (любого) в angular - PullRequest
0 голосов
/ 07 августа 2020

Я хочу подтвердить имя пользователя с помощью условия ниже

  1. Принимать только символы и числа

  2. Принять «_» или «.» ( либо любой)

Вот мой код

<input type="text" class="form-control" [maxlength]="50" name="userName" placeholder="User Name"
#userName="ngModel" ngModel [(ngModel)]="UserName" (keypress)="userNameValidation($event)">



userNameValidation(event: any) {
  const pattern = /^[a-zA-Z0-9\_\.]+$/
  const inputChar = String.fromCharCode(!event.charCode ? event.which : event.charCode);
  if (!pattern.test(inputChar)) {
    event.preventDefault();
  }
}

Кто-нибудь может помочь мне написать условие или или ???

1 Ответ

0 голосов
/ 07 августа 2020

Как насчет использования строковой функции JS string.includes? См. документы здесь

userNameValidation(event: any) {
  const pattern = /^[a-zA-Z0-9\_\.]+$/
  const inputChar = String.fromCharCode(!event.charCode ? event.which : event.charCode);
  
  let includesBothDotAndUScore = inputChar.includes("_") && inputChar.includes(".");

  if (!pattern.test(inputChar) || includesBothDotAndUScore) {
    event.preventDefault();
  }
}

Кроме того, я считаю, что вы можете использовать UserName вместо inputChar.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...