私は 'angular2-input-mask'を使って24時間形式を入力しようとしています。有効な24時間形式の正しいマスクは何でしょうか。'angular2-input-mask'の24時間正規表現は何ですか?
this.mask = [/[0-2]/, /^([0-9]|2[0-3])/, ':', /[0-5]/, /[0-9]/];
私は 'angular2-input-mask'を使って24時間形式を入力しようとしています。有効な24時間形式の正しいマスクは何でしょうか。'angular2-input-mask'の24時間正規表現は何ですか?
this.mask = [/[0-2]/, /^([0-9]|2[0-3])/, ':', /[0-5]/, /[0-9]/];
これはangular2入力マスクとの時間マスクを適用するための正しい方法である
HTML:
<input type="text" (keyup)="setTime($event)" [(value)]="timeStr" [textMask]="getMask()" />
活字体:
キーアップ時に時間を設定
setTime(e):void{
this.time = e.target.value;
}
this.time
getMask():{
mask: Array<string | RegExp>;
keepCharPositions: boolean;
} {
return {
mask: [/[0-2]/, this.time && parseInt(this.time[0]) > 1 ? /[0-3]/ : /\d/, ':', /[0-5]/, /\d/],
keepCharPositions: true
};
}
に対してマスクを定義最後に、私はこの方法で私の問題を解決しました。
HTML
<input [textMask]="{mask: mask}" [(ngModel)]="input_time" (ngModelChange)=changeRegex(input_time);type="text"/>
活字体
角度2の成分で、この次のコードを記述します。
public mask: Array<string | RegExp> = [/[0-2]/,/\d/, ':', /[0-5]/, /\d/],
changeRegex(input_time){
if(input_time.charAt(0) == '2'){
this.mask[1]=new RegExp('[0-3]')
}else{
this.mask[1]=new RegExp('\d')
}
}