1
私は角度2を使用しています。ユーザーがテキストボックスにURLとリンクを入力しないように制限します。 これに正規表現を使用できますか?ユーザーがURLをテキストボックスに入力するのをブロックする方法
私は角度2を使用しています。ユーザーがテキストボックスにURLとリンクを入力しないように制限します。 これに正規表現を使用できますか?ユーザーがURLをテキストボックスに入力するのをブロックする方法
ディレクティブを使用して、テキストボックスの入力を監視できます。このディレクティブは、正規表現を使用して、現在の入力がURLかどうかを調べることができます。ここでは例
import { Directive, HostListener, ElementRef } from '@angular/core';
@Directive({
selector: '[appUrlBlocker]'
})
export class UrlBlockerDirective {
constructor(private el: ElementRef) {}
expression = /[[email protected]:%_\+.~#?&//=]{2,256}\.[a-z]{2,4}\b(\/[[email protected]:%_\+.~#?&//=]*)?/gi;
regex = new RegExp(this.expression);
@HostListener('keyup') check() {
if (this.el.nativeElement.value.match(this.regex)) {
alert('You have entered a URL!');
// Remove entered content
this.el.nativeElement.value = '';
} else {
console.log('Does not match');
}
}
}
だとそのように
<input appUrlBlocker type="text" placeholder="No URLs allowed" />
アーミル・カーンさんのコメント@明確にするために、角JS 2 –
のようなものはありませんように、あなたの入力にそれを使用 - AngularJSは、バージョンを参照します1.x、Angularはバージョン2.x以上を示します(はい、混乱する命名規則です)。 –
@AamirKhanはい角型バージョン2.0を使用しています –