【问题标题】:restrict special character in HTML input box using Angular 7使用Angular 7限制HTML输入框中的特殊字符
【发布时间】:2019-04-17 11:42:55
【问题描述】:

我需要在 Angular 7 的 html 输入框中限制特殊字符。同样我还有一些其他要求,比如只输入数字、字母等。

我是 Angular 的新手,我们将不胜感激。

我尝试了以下代码:

<input type="text" maxlength="45" class="form-control" id="hno" [(ngModel)]="Address.number" pattern="^[^`~!@#$%\^&*()_+={}|[\]\\:';"<>?,./]*$">

【问题讨论】:

  • 您应该为允许的字符编写表达式,而不是禁止特殊字符。
  • @Saksham 这是个好主意。
  • 您也可以为相同的指令创建指令,因为您还有其他一些要求,例如只输入数字或字母,因此为每个要求创建不同的指令会更好

标签: regex angular html


【解决方案1】:

您的pattern 属性应如下所示:

pattern="[^`~!@#$%\^&amp;*()_+={}|[\]\\:';&lt;&gt;?,./\x22]*"

首先,您不应该使用^$,因为您将每个字符都与此模式匹配。

其次," 字符有问题。所以现在我只是把它从课堂上删除了,会更多地研究它。

UPD:找到引号字符here 的解决方案。 \x22 用作 " 字符。

这是一个工作示例:https://jsfiddle.net/qy5m07uh/

【讨论】:

  • 对不起,它不适合我。我可以在输入框中输入特殊字符
  • pattern 属性在您尝试提交表单时起作用。
  • 前段时间做了个指令,见stackoverflow.com/questions/54460923/…。如果你使用[mask]="'^[A-Z|a-z|0-9]+$'" 可以工作
猜你喜欢
  • 2019-08-14
  • 2019-08-18
  • 2017-12-17
  • 2018-10-30
  • 2012-04-24
  • 2017-02-21
  • 2016-07-18
  • 1970-01-01
  • 2018-12-27
相关资源
最近更新 更多