阿拉伯语和英语字符在ionic2中形成验证

时间:2017-08-18 11:36:02

标签: validation ionic2 angular2-forms custom-validators angular2-formbuilder

我已经开发了一个注册表单,允许用户注册一个新帐户。

在Ionic2的注册表格中,我必须在提交前验证表格中的某些值,其中一个值(全名)可能包括英文或阿拉伯字符

我使用了表单验证概念,如下所示:

this.personalInfoForm = formBuilder.group({
  txtFullName: ['', Validators.compose([Validators.minLength(6), Validators.maxLength(30), Validators.pattern('[a-zA-Z ]*'), Validators.required])],
  txtNickname: ['', Validators.compose([Validators.minLength(6), Validators.maxLength(30), Validators.pattern('[a-zA-Z ]*'), Validators.required])],
  SGender: ['', Validators.required],
  txtCommercialName: ['', Validators.compose([Validators.minLength(6), Validators.maxLength(30), Validators.pattern('[a-zA-Z ]*')])],
  txtDateOfBirth: ['', Validators.required],
});

我的问题是验证器只接受英文字符,当用户输入阿拉伯字符时,验证器不会将其识别为有效值,因此它不接受它

是否有任何模式使验证器接受阿拉伯字符,英文字符,空格

1 个答案:

答案 0 :(得分:2)

您目前只验证英文字符:Validators.pattern('[a-zA-Z ]*')

您需要找到您要验证的非英语语言所需的unicode字符。查看Jeremy Ruten's回答。提到的here阿拉伯字符集将为\u0600-\u06FF

所以你的英语和阿拉伯语模式将是

Validators.pattern('[a-zA-Z\u0600-\u06FF ]*')