javascript - 如何在输入中只允许数字和特殊字符?

标签 javascript html angular

我有这个:

  <input style="text-align: right;font-size: 12px;" class='input' (keyup.enter)="sumTotal($event)" type="text"
      [ngModel]="field.value" (focusin)="focusin()" (focusout)="format()" (keyup.enter)="format()"
      (ngModelChange)="onlyNumbers($event);field.value = $event;sumTotal($event);" [disabled]="disabled">

在我的 ts 中我有这个: 我想要数字和特殊字符。

  onlyNumbers(letter) { if (letter.toUpperCase() !== letter.toLowerCase()) { return; } else { this.field.value = letter; } }

但它仍然可以输入字母。有什么建议吗?

最佳答案

使用event.preventDefault()通过检查是否 isNaN返回 false,如果它不是 . 可能是您的解决方案:

function numbersonly(e){
  if(isNaN(e.key) && e.key !== '.' && e.key !== ',') e.preventDefault();
}
<input type="text" onkeypress="numbersonly(event)" />

关于javascript - 如何在输入中只允许数字和特殊字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58023633/

相关文章:

javascript - onmousemove 事件不会从外部源中触发?

javascript - 原型(prototype)方法返回 "undefined"

javascript - 在 Twitter Bootstrap 中添加时间选择器

html - CSS :Not attribute

javascript - 让 Jquery 幻灯片自动播放?

angular - 如果已缓存,如何使用 Angular 2 代码在任何浏览器中强制从服务器加载 index.html

angular - 如何模拟 route.snapshot.params?

jquery - 如何在 Angular 2 Ionic 2 RC 2 中使用手机 mask

javascript - Onscroll 视频必须播放一次

php - jQuery .getJSON 函数需要重新绑定(bind)返回的数据