gpt4 book ai didi

angular - 输入的第4位数字后添加空格

转载 作者:行者123 更新时间:2023-12-04 23:13:08 25 4
gpt4 key购买 nike

我需要在输入的第4个数字后添加一个空格,在控制台中获取该空格,如何在Angular 5中更改输入内容。

.ts下面给出的代码

  mychange(val) {
const self = this;
let chIbn = val.split(' ').join('');
if (chIbn.length > 0) {
chIbn = chIbn.match(new RegExp('.{1,4}', 'g')).join(' ');
}
console.log(chIbn);
this.id = chIbn;
}


的HTML

<input class="customerno" (ngModelChange)="mychange($event)" [formControl]="inputFormControl" (keydown.backspace)="onKeydown($event)" maxlength="{{digit}}" (keyup)="RestrictNumber($event)" type="tel" matInput [(ngModel)]="id" placeholder="Customer No. ">


安慰:

1
11
111
1111
1111 1
1111 11
1111 111
1111 1111
1111 1111 1
1111 1111 11
1111 1111 111
1111 1111 1111


enter image description here

我改编自 Angular 2 : add hyphen after every 4 digit in input , card number input。但是我把hypen换成了一个空格。

最佳答案

我建议您查看此指令

import { Directive, HostListener, ElementRef } from '@angular/core';

@Directive({
selector: '[credit-card]'
})
export class CreditCardDirective {

@HostListener('input', ['$event'])
onKeyDown(event: KeyboardEvent) {
const input = event.target as HTMLInputElement;

let trimmed = input.value.replace(/\s+/g, '');
if (trimmed.length > 16) {
trimmed = trimmed.substr(0, 16);
}

let numbers = [];
for (let i = 0; i < trimmed.length; i += 4) {
numbers.push(trimmed.substr(i, 4));
}

input.value = numbers.join(' ');

}
}


并在 html模板中用作

<input type="text" credit-card>


这里是
source code

更新:(10/10/2019)
输入类型应仅为 text(默认类型)

关于angular - 输入的第4位数字后添加空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50619823/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com