[英]How to allow only numbers in html input type text using TypeScript?
I have a HTML textbox.我有一个 HTML 文本框。 How to allow only numbers in it on keypress event?
如何在按键事件中只允许数字? There is a
type=number
however I have use type text.有一个
type=number
但是我使用了类型文本。
You can use "keypress" event in your text input.您可以在文本输入中使用“keypress”事件。 You can use this function.
您可以使用此功能。
<input id="example" type="text" [(ngModel)]="example" (keypress)="OnlyNumbers($event)" />
public OnlyNumbers($event) {
let regex: RegExp = new RegExp(/^[0-9]{1,}$/g);
let specialKeys: Array<string> = ['Backspace', 'Tab', 'End', 'Home', 'ArrowRight','ArrowLeft'];enter code here
if (specialKeys.indexOf($event.key) !== -1) {
return;
} else {
if (regex.test($event.key)) {
return true;
} else {
return false;
}
}
}
您可以在组件中使用响应式表单,并且为了仅允许输入字段中的数字,您可以使用Validators.pattern("^\\\\d+$")
像 minlength,在此表单中处理所需的验证。
HTML:
HTML:
<input type="text" (input)="onTextboxChangeValidate($event)">
TS file include below function
TS 文件包括以下功能
onTextboxChangeValidate(event: Event)
{
var inputData = (<HTMLInputElement>event.target).value;
//replace more than one dot
var extractedFte = inputData.replace(/[^0-9.]/g, '').replace('.', '')
.replace(/\./g, '').replace('x', '.');
//Extract nuber Values
extractedFte = extractedFte.replace(/^(\d+)\d*$/, "$1");
//Reasign to same control
(<HTMLInputElement>event.target).value = extractedFte;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.