2017-06-12 98 views
0

我对Angular2很新,并且无法在任何地方找到我的答案。我有一个input(以下为节目),但我只希望它允许:Angular2 - 只允许在输入中输入Alpha字符

  • AZ
  • AZ
  • -
  • [SPACE]

我不知道如何做到这一点。我试过ng-pattern="/^[a-zA-Z\s]*$/",pattern="/^[a-zA-Z\s]*$/"ng-pattern-restrict="/^[a-zA-Z\s]*$/"

通过本身被删除HTML

<td> 
    <md-input-container> 
     <input mdInput [(ngModel)]="details.firstName" placeholder="First name(s)" ng-pattern="/^[a-zA-Z\s]*$/"> 
    </md-input-container> 
</td> 

在理想情况下,如果用户输入一个数字字符,身份证醚喜欢还是只是不允许(不显示)中的字段

回答

-1

使用此:

ng-pattern="/^[a-zA-Z]*$/"

+0

不知道为什么这被接受答案 - 这是AngularJS的方式,而不是Angular是必需的。 – sax

2

您需要使用以下,使模式的工作原理

<input mdInput [(ngModel)]="details.firstName" placeholder="First name(s)" [pattern]="'^[a-zA-Z \-\']$'"> 
+0

谢谢,但,这是导致以下错误:在列14 ['^ [一个意外令牌“]”:'分析器错误在ng:///AppModule/[email protected]:91(“tainer> ] [pattern] =''^ [a-zA-Z' - '] $'”> ' – murday1983

+0

@ murday1983,updated updated –

+0

一世已经使用了更新,但我仍然能够在现场输入0-9。 – murday1983

1

我的修复是做在我的组件

firstName: ['', Validators.pattern('^[a-zA-Z \-\']+')], 
+0

请注意,这仅适用于[Reactive Froms](https://angular.io/guide/reactive-forms) – Robouste