Html 角度-文本输入字段,仅接受手机中的数字
在angular 9中,我使用以下代码创建了一个只接受数字的输入字段文本: Html文件:Html 角度-文本输入字段,仅接受手机中的数字,html,angular,responsive-design,Html,Angular,Responsive Design,在angular 9中,我使用以下代码创建了一个只接受数字的输入字段文本: Html文件: <mat-form-field> <mat-label>{{fields.label}}</mat-label> <input pattern="[0-9]*" [formControlName]="fields.field" [id]="fields.field" [type]="'t
<mat-form-field>
<mat-label>{{fields.label}}</mat-label>
<input
pattern="[0-9]*"
[formControlName]="fields.field"
[id]="fields.field"
[type]="'text'"
(keypress)="numericOnly($event)"
autocomplete="off"
matInput>
</mat-form-field>
这段代码在桌面web浏览器中正常工作,但我的问题是,当我用手机访问网站时,输入字段不仅接受数字,而且接受字符
请帮我用手机解决这个问题。我仍然需要这个在safari、chrome和mozilla手机中工作。谢谢大家。//这会帮到你们的
numbersOnly(event) {
const input = String.fromCharCode(event.keyCode);
if (!/^[0-9]*$/.test(input)) {
event.preventDefault();
}
}
此代码是否有助于
inputmode=“numeric”
?因为您使用的是反应式表单,所以在该字段上使用验证器。此外,如果您将类型更改为“仅使用号码”,则可以键入号码,并且在mobile中,它将仅打开一个号码keypad@handsand对不起,我正在使用输入字段文本,因为我的字段需要一些实现。我还有一个验证器。谢谢,我会让你知道这是否有效。这是否可以防止退格/删除?
numbersOnly(event) {
const input = String.fromCharCode(event.keyCode);
if (!/^[0-9]*$/.test(input)) {
event.preventDefault();
}
}