У меня есть рабочая проверка ввода
<input class="form-control" pattern="^(?=.*\d)(?=.*[a-zA-Z]).{8,12}$" placeholder="" type="password" required>
Я пытаюсь сохранить шаблон в переменной passwordPattern
и вставить его в HTML
import { Component, OnInit} from '@angular/core';
@Component({
selector: 'my-component',
templateUrl: './my-component.html',
styleUrls: ['./my-component.scss']
})
export class myComponent implements OnInit {
passwordPattern:RegExp;
constructor() {
// 1 digit, 1 letter, minimum 8 chars and maximum 12 chars
this.passwordPattern = /^(?=.*\d)(?=.*[a-zA-Z]).{8,12}$/ ;
}
ngOnInit() {}
}
HTML
<input class="form-control" [pattern]="passwordPattern" placeholder="" type="password" required>
атрибут входного паттерна доза, кажется, не принимает регулярное выражение, искаженное с / / (/ regexp /).я попытался удалить его и обернуть как строку, но он не работает (this.passwordPattern = '^(?=.*\d)(?=.*[a-zA-Z]).{8,12}$';
), я также попытался добавить шаблон, используя new RegExp()
(this.passwordPattern = new RegExp("(?=.*\d)(?=.*[a-zA-Z]).{8,12}")
), также не работал, в поисках правильногоЧтобы сделать это, моя цель состоит в том, чтобы этот шаблон как глобальная переменная выбрасывал приложение.любая помощь будет оценена.
см. Пример здесь https://jsfiddle.net/1hk7knwq/10565/